您可以访问具有带连字符名称的哈希键吗?
例如,如果在Perl中声明以下hashref:
$hashref = {
'regularKey' => 1,
'hyphenated-key' => 1,
};
然后尝试通过Template Toolkit访问条目:
1. [% hashref.regularKey %] # Okay
2. [% hashref.hyphenated-key %] # Generates error
错误如下:
Argument "" isn't numeric in subtraction (-) at myTemplatizedFile line 2.
有没有办法绕过工具包假设连字符用于减法?
我尝试使用反斜杠转义连字符,但在处理模板时会产生此错误:
error - parse error - myTemplatizedFile line 138: unexpected token (\)
我认为有两种方法可以解决这个问题:
添加Perl:
$intermediateHashref = {
'unhyphenatedKey' => $hashref->{'hyphenated-key'},
}
更改模板化文件:
1. [% hashref.regularKey %] # Okay
2. [% intermediateHashref.unhyphenatedKey %] # Okay