Есть большая сложная система (web-интерфейс CGI), написанная непрофессиналами. В ней необходимо отладить некоторые операции. В файлах perl добавлены запутывающие отладку конструкции вроде:
Код | код Perl
# line 30 "/path/file"
код Perl
|
В подобном файле происходит вызов функции из модуля mod::fn:
Код | sub mod::fn(;@) { warn join ', ', caller; ............................................... }
|
warn выводит, "Somethin is wrong at "/path/file" as line 30".
Как узнать реальный caller?
Для наглядности, пример:
Код | package test;
sub test(;@) { warn join ', ', caller; }
package main;
# line 40 "/path/file"
&test::test();
|
|