2010-02-22 2 views
15

, 나는 hashref가 포함 된 다음 변수가있는 경우 :Template Toolkit에서 잘못된 식별자 문자가 포함 된 해시 키를 처리하려면 어떻게해야합니까? 템플릿 툴킷에서

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

출력하는 가장 좋은 방법은 '수명'의 데이터가 무엇입니까?

내가 시도 ...

[% artist.life-span %] 

는^이는 하이픈 실패합니다.

[% artist.'life-span' %] 

^구문이 올바르지 않아서 실패합니다.

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

^이 방법은 작동하지만 많은 양의 큰 응용 프로그램에서는 실용적이지 않습니다.

더 좋은 방법이 있습니까?

내가 추진하고있는 프로젝트는 Catalyst 기반 웹 응용 프로그램이며 데이터는 다양한 외부 웹 서비스에서 제공되므로 해시 키의 이름을 제어하지 않습니다. 내가 Perl에서 데이터를 사전 처리 할 수 ​​있었고 TT에 전달하기 전에 문제 해시 키의 이름을 바꿀 수는 있지만 상당히 엉뚱한 해결 방법처럼 보입니다.

답변

26

itemvmethod : [% artist.item('life-span') %]을 사용할 수 있습니다.

+0

빠른 응답을 보내 주셔서 감사합니다. – nick