2010-02-22 24 views
15

En Plantilla Toolkit, si tengo la siguiente variable que contiene una hashref:¿Cómo puedo manejar las claves hash que contienen caracteres de identificación ilegales en Template Toolkit?

[% 
    artist = { 
    'life-span' => '1975 to 1987', 
    } 
%] 

¿Cuál es la mejor manera de dar salida a los datos de la 'vida útil'?

He intentado ...

[% artist.life-span %] 

^Esta falla debido al guión.

[% artist.'life-span' %] 

^Esto falla porque la sintaxis es incorrecta.

[% lifespan = 'life-span' %] 
[% artist.$lifespan %] 

^Esto funciona, pero no es práctico en una aplicación grande con muchos datos.

¿Hay una manera mejor?

El proyecto en el que estoy trabajando es una aplicación web basada en Catalyst y los datos provienen de una serie de diferentes servicios web externos, por lo que no controlo el nombre de las teclas hash. Supongo que podría procesar previamente los datos en Perl, renombrar las claves hash problemáticas antes de dárselas a TT, pero eso parece una mala pasada de trabajo.

Respuesta

26

Puede usar el item vmethod: [% artist.item('life-span') %].

+0

gracias por la respuesta rápida! – nick

Cuestiones relacionadas