Como lidar com chaves de hash que contêm caracteres identificadores ilegais no Template Toolkit?
No Template Toolkit, se eu tiver a seguinte variável que contém um hashref:
[%
artist = {
'life-span' => '1975 to 1987',
}
%]
Qual é a melhor maneira de enviar os dados no 'tempo de vida'?
Eu tentei...
[% artist.life-span %]
^ Isso falha devido ao hífen.
[% artist.'life-span' %]
^ Isso falha porque a sintaxe está incorreta.
[% lifespan = 'life-span' %]
[% artist.$lifespan %]
^ Isso funciona, mas é impraticável em um aplicativo grande com muitos dados.
Existe uma maneira melhor?
O projeto em que estou trabalhando é um aplicativo da Web baseado no Catalyst e os dados são provenientes de vários serviços da web externos diferentes, portanto não controle o nome das chaves de hash. Eu acho que eu poderia pré-processar os dados no Perl, renomeando as chaves de hash do problema antes de entregá-las ao TT, mas isso parece uma solução alternativa muito ruim.