我正在尝试将 perl Text::Template用于短模板,但到目前为止未能让它遍历数组。
这是我写的一个简短的测试程序来演示我正在尝试做的事情:
#!/usr/bin/perl
use Text::Template;
my $template = Text::Template->new(TYPE => 'STRING', SOURCE => <<'__EOT__');
array[0]: { $array[0] }
{ foreach my $i (@array) { }
{$i}
}
__EOT__
print $template->fill_in(HASH => { array => [qw(item1 item2)]});
根据 Text::Template 手册,我希望这会打印: array[0]: item1 item1 item2 但它会打印 array[0]: item1
(即循环外第一行的输出和一个空行)。
我在网络上的任何地方都找不到任何人在模板中实际使用循环的示例,尽管文档说它应该“正常工作”。
我错过了什么?