У меня есть скрипт Perl, который запускает другую утилиту (так называемый Radmind, для тех, кто интересуется), который имеет возможность редактировать файловую систему. Perl-скрипт контролирует вывод из этого процесса, поэтому он будет работать в этой ситуации.Как Perl взаимодействует со скриптами, которые он запускает?
Что произойдет, если утилита, запускаемая скриптом, попытается отредактировать сам файл сценария, то есть заменить его более новой версией? Перл загружает скрипт и любые связанные библиотеки в начале его выполнения, а затем игнорирует сам файл сценария, если только он специально не связывается с ним? Или, может быть, все ад разрывается, и выполнение может или не может потерпеть неудачу в зависимости от того, как новый файл отличается от того, который выполняется?
Возможно, что-то еще совсем? Извинения, если это принадлежит SuperUser —, кажется мне серым.
Это не так просто, как ваш ответ, вы можете добавить код в конец вашего файла в блоке 'BEGIN', и он будет включен в программу. По крайней мере, в версии perl, к которой у меня есть доступ, на данный момент он не будет читать весь файл, прежде чем приступать к его синтаксическому анализу, а блоки BEGIN будут выполняться сразу же после разбора закрывающей фигурной скобки. Такое поведение, скорее всего, зависит от ОС. –