访问变量成员" *"在模板中

时间:2014-11-26 12:33:48

标签: perl template-toolkit

我有一个变量

var1 = {
  '*'                   = >        {
    'counter'           = >        {
      'default'     = > '0',
      'description' = > 'test'
     }
   }
 }

在perl模板工具包中。 如何访问' *'的内容?在模板中。

[% var1.*.counter %]

不起作用,因为该符号无效名称。

1 个答案:

答案 0 :(得分:6)

您可以在模板中将变量定义为等于*,然后使用该变量。

[% star = '*' %]
[% var1.$star.counter.description %]

但我想知道为什么你 首先要用星号作为键?在Perl级别提供合理的密钥会好得多,也许可以通过编写

$vars->{var1}{star} = $vars->{var1}{'*'}

在调用Template Toolkit之前。