NAME
Template::Liquid::Tag::If - Basic If/Elsif/Else Construct
Description
If I need to describe if/else to you... Oy. if
executes the statement once if and only if the condition is true. If the condition is false, the first elseif
condition is evaluated. If that is also false it continues in the same pattern until we find a true condition or a fallback else
tag.
Compound Inequalities
Liquid supports compound inequalities. Try these...
{% if some.value == 3 and some.string contains 'find me' %}
Wow! It's a match...
{% elseif some.value == 4 or 3 < some.value %}
Wow! It's a... different... match...
{% endif %}
Bugs
Liquid's (and by extension Template::Liquid's) treatment of compound inequalities is broken. For example...
{% if 'This and that' contains 'that' and 1 == 3 %}
...would be parsed as if it were...
if ( "'This" && ( "that'" =~ m[and] ) ) { ...
...but it should look like...
if ( ( 'This and that' =~ m[that]) && ( 1 == 3 ) ) { ...
It's just... not pretty but I'll work on it. The actual problem is in Template::Liquid::Block if you feel like lending a hand. Wink, wink.
See Also
See Template::Liquid::Condition for a list of supported inequality types.
Author
Sanko Robinson <sanko@cpan.org> - http://sankorobinson.com/
The original Liquid template system was developed by jadedPixel (http://jadedpixel.com/) and Tobias Lütke (http://blog.leetsoft.com/).
License and Legal
Copyright (C) 2009-2022 by Sanko Robinson <sanko@cpan.org>
This program is free software; you can redistribute it and/or modify it under the terms of The Artistic License 2.0. See the LICENSE file included with this distribution or http://www.perlfoundation.org/artistic_license_2_0. For clarification, see http://www.perlfoundation.org/artistic_2_0_notes.
When separated from the distribution, all original POD documentation is covered by the Creative Commons Attribution-Share Alike 3.0 License. See http://creativecommons.org/licenses/by-sa/3.0/us/legalcode. For clarification, see http://creativecommons.org/licenses/by-sa/3.0/us/.