有没有办法比较Template Toolkit中的两个变量?

时间:2010-02-12 02:59:39

标签: perl template-toolkit

[% IF OrgType.id == Organization.org_type_id %]selected="selected"[% END %] 

即使它们都评估为相同的数字,也不起作用。

[% IF OrgType.id == 3 %]selected="selected"[% END %] 

(即用于测试目的的硬编码)确实有效。

[% OrgType.id %] and [% Organization.org_type_id %] 

在页面上打印“3”。

1 个答案:

答案 0 :(得分:10)

以下适用于我:

 my $tt = Template->new; 
 $tt->process( \"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => 42 } );

输出'blah'。所以我怀疑你的两个变量不包含你认为他们做的事情。 Template Toolkit对==使用字符串相等,所以如果你这样做:

 my $tt = Template->new; 
 $tt->process( \"[% IF foo == bar %]blah[% END %]", { foo => 42, bar => "42 " } );

它会破裂。您可能需要稍微按下数据以使它们在字符串相等的情况下正常工作。