Tengo algunos scripts que he comenzado a probar con la idea "modulino". Me he encontrado con un problema cuando el script se llama con "perl -d" y el script no se ejecuta, ya que caller() devuelve un valor verdadero.Perl -d y problema de modulino
Tengo el cuerpo principal de la secuencia de comandos envuelto en una main() y algunas subrutinas se extraen lentamente de la main() en sus propias subrutinas.
En la parte superior de la secuencia de comandos que tengo:
main(@ARGS) unless caller();
Cuando llama en .t pruebas funciona como yo quiero, no corriendo main() para que pueda probar las subrutinas. Cuando llamo al script desde CLI, funciona muy bien llamando a main().
El problema se produce cuando la llamo desde la CLI con:
perl -d myscript.pl
En esta etapa la persona que llama devuelve un valor válido (en lugar de UNDEF) y el principal no se llama.
Sugerencias sería muy apreciado acerca de cómo acercarse a este.
Buena captura. Nunca lo consideraría, ya que casi nunca uso el depurador Perl. Gracias, :) –
Parece que no puedo reproducir este comportamiento. Escribí un pequeño modulino, y el depurador todavía funciona bien. Puede publicar un ejemplo? – cjm
Debe haber '@ ARGV' en lugar de' @ ARGS'. En caso de que alguien solo haya copiado y pegado :) – famousgarkin