如何使用模板工具包检查数组中是否存在元素

时间:2015-05-06 18:39:39

标签: perl template-toolkit

我试图找出一个数组是否包含模板工具包中的元素。不知道怎么样?有人可以帮忙吗?

my $var ={
myarray => ['a','c','b','d']
}

传递给tt:

现在要检查:

[% IF ( myarray contains 'a') %]
[% END %]

[% IF ( myarray contains 'e') %]
[% END %]

2 个答案:

答案 0 :(得分:5)

  

grep

     

返回列表中与正则表达式模式匹配的项目列表。

因此,

[% IF myarray.grep('^e\z').size %]
<p>Hello World</p>
[% END %]

答案 1 :(得分:2)

myarray = ['17', '177', '166']
value = 16

[% IF myarray.grep('^$value$').size %] # will be true
<p>Hello World</p>
[% END %]

myarray.grep('^$value$') # return ['166']

另一种方式

[% IF myarray.grep('^$value$').0 == value %] # will be false
<p>Hello World</p>
[% END %]