[ic] if tag weird behavior
Mike Heins
mike at perusion.com
Sun Oct 28 12:17:30 EST 2007
Quoting Ton Verhagen (tverhagen at alamerce.nl):
> Dear All,
>
> I noticed the following 'weird' behavior of the if tag.
>
> Examine the following code:
>
> [tmp test_value]00000036[/tmp]
>
> [if type=explicit condition="[scratch test_value]"]
> Value is: [scratch test_value]
> [else]
> No value
> [/else]
> [/if]
>
> Result:
> Value is: 00000036
>
> So far so good.
>
> Now set the tmp to another (special ?) value:
>
> [tmp test_value]00000159[/tmp]
> ..... if-code as above
>
>
> Result:
> No value
>
>
> When I change the above code to the following, everything works as expected.
>
> [if type=explicit condition="[scratch test_value]"]
> [condition]
> return 1 if $Scratch->{test_value};
> return 0;
> [/condition]
> Value is: [scratch test_value]
> [else]
> No value
> [/else]
> [/if]
>
>
> This behavior can be duplicated in the online demo (test code in admin
> section)
>
> Any ideas?
Explicit is intended to have valid code as it's test, and a literal like
that has undetermined behavior when interpreted as Perl code.
Why you would do that instead of:
[if scratch test_value]
foo
[/if]
???
--
Mike Heins
Perusion -- Expert Interchange Consulting http://www.perusion.com/
phone +1.765.647.1295 tollfree 800-949-1889 <mike at perusion.com>
Fast, reliable, cheap. Pick two and we'll talk. -- unknown
More information about the interchange-users
mailing list