Tengo un script Perl que ejecuta una utilidad diferente (llamada Radmind, para aquellos interesados) que tiene la capacidad de editar el sistema de archivos. La secuencia de comandos de Perl supervisa la salida de este proceso, por lo que se ejecutará a lo largo de toda esta situación.¿Cómo interactúa Perl con los scripts que está ejecutando?
¿Qué pasaría si la utilidad que ejecuta el script intentara editar el archivo de script, es decir, reemplazarlo por una versión más nueva? ¿Perl carga la secuencia de comandos y las bibliotecas vinculadas al inicio de su ejecución y luego ignora el archivo de la secuencia de comandos a menos que se le indique específicamente que se meta con él? O tal vez, ¿se desataría el infierno y las ejecuciones podrían fallar o no dependiendo de cómo difiera el nuevo archivo del que se está ejecutando?
¿O tal vez algo completamente diferente? Disculpas si esto pertenece en SuperUser — me parece un área gris.
Ni siquiera es tan simple como su respuesta, puede agregar el código al final de su archivo en un bloque 'BEGIN' y se incluirá en el programa. En al menos la versión de perl a la que tengo acceso en este momento no leerá todo el archivo antes de comenzar a analizarlo, y los bloques 'BEGIN' se ejecutarán tan pronto como se analice el parche de cierre. Este comportamiento es muy dependiente del sistema operativo. –