2016-02-14 4 views
1

print [email protected] для шаблона toolkit не отображает строку, в которой произошло исключение. Как найти точное место ошибки?Как найти строку с ошибкой в ​​файлах Template Toolkit?

$ perl -Mstrict -Mwarnings -MTemplate -e 'my $template = Template->new({ABSOLUTE=>0}); $template->process("test.tt") || print [email protected], "\n"' 
file error - /etc/hosts: absolute paths are not allowed (set ABSOLUTE option) 

Я не вижу, какая строка файла .tt вызвало ошибку. Это затрудняет отладку.

Почему TT не показывает местоположение ошибки? Является ли это неотъемлемой проблемой функции, которую трудно реализовать? Если нет, то почему это еще не реализовано? Должен ли я предлагать отчет об ошибке для реализации этой функции?

+0

Я бы подумал, что достаточно простого поиска в файле '.tt' для поиска'/etc/hosts'. –

+0

@JimGarrison В этом конкретном случае, да. Но я хочу, чтобы метод легко находил ошибки, когда есть много файлов, структурированных с помощью директив '[% INCLUDE%]', и неизвестно, где искать искажающий файл. – porton

+0

Это, вероятно, полезно http://www.perlmonks.org/? node_id = 605410 –

ответ