如何使用Template Toolkit从数组中获取元素?

时间:2010-03-17 14:36:27

标签: perl arrays template-toolkit

我有一系列Paths,我想用Template Toolkit读出来。 如何访问此数组的数组元素? 情况如下:

my @dirs;
opendir(DIR,'./directory/') || die $!;
@dirs = readdir(DIR);
close DIR;
$vars->{'Tree'} = @dirs;

然后我像这样调用模板页面:

$template->process('create.tmpl', $vars) 
   || die "Template process failed: ", $template->error(), "\n";

在这个模板中,我想在数组中创建一个目录树。我该如何访问它们?

我的想法是从模板中的foreach开始,就像这样

[% FOREACH dir IN Tree.dirs %]
$dir
[% END %]

1 个答案:

答案 0 :(得分:11)

使用引用将数组或哈希值传递到模板中:

$vars->{'Tree'} = \@dirs;

然后在模板中:

[% FOR d = Tree %]
    [% d %]
[% END %]