В дополнение к уже упомянутым причинам perl
имеет (настоятельно не рекомендуется) параметр -P
, который пропускает файл Perl через препроцессор C перед его выполнением. Поскольку большинство препроцессоров C будут использовать строковые директивы, когда они включают или удаляют часть файла, поэтому о любых ошибках будет сообщаться из того места, где они находились в исходном источнике, а не в обработанном источнике.
Строковые директивы также могут быть очень полезны, если вы генерируете код в строках, который затем передается в eval
. Обычно, если в таком коде есть предупреждение или ошибка, вы получаете сообщение об ошибке типа «умер в (eval 1) строке 1». Используя строковые директивы, вы можете указать полезное имя файла и номер строки.