[Moscow.pm] get own source code
Ivan Petrov
i.petro.77.00 на gmail.com
Сб Мар 28 11:11:44 PDT 2015
> Hi,
> прошу направить меня на путь.
> Хочется получить собственный исполняемый код, который виден интерпретатору.
> Нужен буквальный код, на который ссылается интерпретатор, когда говорит "такая
> то ошибка в такой то строке". Дело не решается чтением исходного кода
> соответствующего файла с диска, поскольку речь идёт о "фильтрованном" коде.
> Вот надуманный пример:
> package TestFilter;
> use Filter::Simple;
> FILTER_ONLY code => sub {
> s/\bIF\b(.*?) THEN/if($1){/g;
> s/\bELSE\b/} else {/g;
> s/\bEND IF\b/}/g;
> s/\bEND\b/}/g;
> };
> 1;
> use TestFilter;
> use v5.018;
> eval { IF 1 == 2 THEN say "impossible" ELSE say "yes" END IF };
> Если внутри eval-а будет ошибка, то хочется увидеть тот самый код, что там
> исполнялся интерпретатором перла.
Лучше всего копать в направлении PerlEmbedded.
можно например взять за основу Mojo::Template
Подробная информация о списке рассылки Moscow-pm