代码之家  ›  专栏  ›  技术社区  ›  Devin Ceartas

模板工具包中有没有比较两个变量的方法?

  •  4
  • Devin Ceartas  · 技术社区  · 15 年前
    [% 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 回复  |  直到 9 年前
        1
  •  10
  •   friedo    15 年前

    以下对我有效:

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

    输出“blah”。所以我怀疑你的两个变量不包含你认为它们所做的。模板工具包使用字符串相等于 == 如果你这样做:

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

    它会破裂的。您可能需要对数据进行一些按摩,以使它们与字符串相等。