如何处理 Template Toolkit 中包含非法标识符字符的哈希键?
Posted
技术标签:
【中文标题】如何处理 Template Toolkit 中包含非法标识符字符的哈希键?【英文标题】:How can I handle hash keys containing illegal identifier characters in Template Toolkit? 【发布时间】:2011-01-19 15:47:33 【问题描述】:在 Template Toolkit 中,如果我有以下包含 hashref 的变量:
[%
artist =
'life-span' => '1975 to 1987',
%]
在“生命周期”中输出数据的最佳方式是什么?
我试过了……
[% artist.life-span %]
^由于连字符而失败。
[% artist.'life-span' %]
^因为语法不正确而失败。
[% lifespan = 'life-span' %]
[% artist.$lifespan %]
^这可行,但在具有大量数据的大型应用程序中是不切实际的。
有没有更好的办法?
我正在进行的项目是一个基于 Catalyst 的 Web 应用程序,数据来自许多不同的外部 Web 服务,因此我不控制哈希键的名称。我想我可以在 Perl 中预处理数据,在给 TT 之前重命名问题哈希键,但这似乎是一个非常糟糕的解决方法。
【问题讨论】:
【参考方案1】:您可以使用item vmethod:[% artist.item('life-span') %]
。
【讨论】:
以上是关于如何处理 Template Toolkit 中包含非法标识符字符的哈希键?的主要内容,如果未能解决你的问题,请参考以下文章
如何处理版本列表中包含的字符串导致的错误,按StrictVersion排序?
如何处理 org.eclipse.persistence.exceptions.OptimisticLockExceptio