短いテンプレートに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 を出力します
(つまり、ループの外側の最初の行と空の行の出力)。
テンプレート内でループを実際に使用している例を Web のどこにも見つけることができませんでしたが、ドキュメントには「そのまま機能する」と書かれています。
私は何が欠けていますか?