我有一个数组,其内容是
$VAR1 = {
'1' => 'May 05, 2011',
'0' => 'Jul 22, 2009',
'2' => 'Jun 13, 2012'
};
我试图在催化剂模板中显示它,代码是
[% x = 0 %]
[% FOREACH mortgage IN mortgages %]
<table width=40% border=1 cellspacing="0" cellpadding="10">
<tr>
<td>Date</td>
<td><b>[% dateformat.x %]</b></td>
</tr>
</table>
[% x = x+1 %]
[% END %]
dateformat.x 应该根据 x 的值显示 May 05, 2011 或 Jul 22, 2009 或 Jun 13, 2012,但错误是它什么都不显示。它显示一个空白。
我认为的错误是数组中的键是一个字符串,而与 dateformat 一起使用的 x 的值是数字。如果我在 dateformat 中添加 0 或 1,则它会正确显示([% dateformat.0 %])。
最佳答案
[% dateformat.x %]
在 dateformat
哈希中查找 x
的键。要告诉模板工具包 x
是一个变量,请在它前面加上 $
:
[% dateformat.$x %]
关于perl - 使用变量访问模板工具包中的哈希键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22349028/