Как я могу обработать ключи хеша, содержащие недопустимые символы идентификатора в Template Toolkit?
В Template Toolkit, если у меня есть следующая переменная, содержащая hashref:
[%
artist = {
'life-span' => '1975 to 1987',
}
%]
Каков наилучший способ вывода данных в «срок службы»?
Я пытался...
[% artist.life-span %]
^ Это не из-за дефиса.
[% artist.'life-span' %]
^ Это не удается, потому что синтаксис неверен.
[% lifespan = 'life-span' %]
[% artist.$lifespan %]
^ Это работает, но нецелесообразно в большом приложении с большим количеством данных.
Есть ли способ лучше?
Проект, над которым я работаю, представляет собой веб-приложение на основе Catalyst, и данные поступают из различных внешних веб-сервисов, поэтому я не контролирую имя хеш-ключей. Я думаю, я мог бы предварительно обработать данные в Perl, переименовав проблемные ключи хеша перед передачей их в TT, но это выглядит довольно дерьмовым обходным путем.