2010-03-17 68 views
5

我有一個我想用Template Toolkit讀出的路徑數組。 如何訪問數組的元素? 情況是這樣的:如何使用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 %] 

回答

11

使用參考模板傳遞數組或哈希到您的模板:在模板

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

然後:

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

同意。總是使用數組和哈希的引用 – 2010-03-17 14:44:56

+0

偉大的工作完美。謝謝!請記住始終使用參考! – Przemek 2010-03-17 14:45:38

相關問題