我有一个数组,其内容是

$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/

10-12 12:23