在模板工具包中,如果我有以下包含哈希引用的变量:
[%
artist = {
'life-span' => '1975 to 1987',
}
%]
输出“life-span”数据的最佳方式是什么?
我已经尝试过了...
[% artist.life-span %]
^由于连字符,此操作失败。
[% artist.'life-span' %]
^由于语法不正确,因此失败。
[% lifespan = 'life-span' %]
[% artist.$lifespan %]
^这可行,但在具有大量数据的大型应用程序中不切实际。
有更好的方法吗?
我正在从事的项目是一个基于 Catalyst 的 Web 应用程序,数据来自许多不同的外部 Web 服务,因此我不控制哈希键的名称。我想我可以在 Perl 中预处理数据,在将其提供给 TT 之前重命名有问题的哈希键,但这似乎是一个非常蹩脚的解决方法。
最佳答案
您可以使用item vmethod: [% Artist.item('life-span') %]
.
关于perl - 如何处理 Template Toolkit 中包含非法标识符字符的哈希键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2311303/