Tengo un script Perl (programa independiente) que contiene algunos subs que me gustaría reutilizar en otros scripts. Debido a las limitaciones del entorno de ejecución, no puedo mover las funciones a un archivo común .pm
.Script Perl utilizable como programa y como módulo
¿Es posible diferenciar si el script se ejecutó como un programa independiente o fue require
ed/do
ed por otro script?
Lo único que pude encontrar fue utilizar caller
en el nivel superior: programa independiente no tiene ninguna persona que llama mientras que cuando require
ed caller
espectáculos que hicieron cargar el módulo. ¿Hay alguna solución mejor?
He publicado la respuesta a continuación, pero si pudiera profundizar sobre las "limitaciones del entorno de ejecución", ¿puede haber alguna forma de superar esas limitaciones que le permitirían utilizar los módulos adecuados? Thx – DVK
@DVK: estoy muy contento con tu respuesta. (Ni mi sintaxis de llamada() es tan buena como en tu respuesta.) En cuanto a la limitación. Realmente bastante tonto: no puedo agregar otro módulo no ejecutable al directorio, ya que se escanea en busca de los archivos y todos los nombres de los archivos tienen un significado especial. Agregar .pm allí rompe otros scripts que no puedo modificar. – Dummy00001
Según @FM, mi pregunta es básicamente un duplicado de http://stackoverflow.com/questions/1131304/ – Dummy00001