2010-02-22 12 views
15

W Template Toolkit, jeśli mam następującą zmienną zawierającą hashref:Jak mogę obsługiwać klucze mieszające zawierające niedozwolone znaki identyfikatora w Template Toolkit?

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

Jaki jest najlepszy sposób na wyjście dane w „żywotność”?

Próbowałem ...

[% artist.life-span %] 

^To nie ze względu na myślnikiem.

[% artist.'life-span' %] 

^Nie działa, ponieważ składnia jest niepoprawna.

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

^Działa to, ale jest niepraktyczne w dużej aplikacji z dużą ilością danych.

Czy istnieje lepszy sposób?

Projekt, nad którym pracuję, to aplikacja internetowa oparta na Catalyst, a dane pochodzą z wielu różnych zewnętrznych usług internetowych, więc nie kontroluję nazwy kluczy skrótów. Sądzę, że mógłbym wstępnie przetworzyć dane w Perlu, zmieniając nazwy klawiszy skrótu, zanim podaję je TT, ale wydaje się to dość nieudolnym zadaniem.

Odpowiedz

26

Można użyć metody item vmethod: [% artist.item('life-span') %].

+0

dziękuję za szybką odpowiedź! – nick

Powiązane problemy