perl module automation exporter

Perl: utiliza todos los módulos del subdirectorio especificado y resuelve sus dependencias automáticamente



module automation (1)

No quiero escribir palabras clave de use en los módulos que dependen de otros módulos.

Luego, escriba BEGIN , require e import palabras clave en su lugar.

En serio, no hay una buena forma de que esto funcione. Simplemente use el use en cada módulo para que pueda cargar las cosas que necesita.

También me gustaría preguntar si este uso cruzado de módulos y llamar a sus subrutinas se considera una buena práctica en la programación perl.

Sí. La modularización se considera una buena práctica en toda la programación.

Tengo dos módulos:

./My/Module1 ./My/Module2

Module1 está utilizando subrutinas del Module2 . Entonces en mi script escribí lo siguiente:

use My::Module1 use My::Module2

Pero esto no funciona y Perl se quejó de que las subrutinas que se usan desde Module2 por Module1 no existen. Así que agregué la siguiente línea al Module1 :

use My::Module2

Finalmente esto funcionó como se esperaba.

Me pregunto si existe alguna solución que incluya todos los módulos del árbol de subdirectorios especificado y resuelva las dependencias automáticamente. No quiero escribir palabras clave de use en los módulos que dependen de otros módulos. Se intentaron los siguientes comandos pero no funcionó (ya sea por errores de sintaxis o porque usó módulos incorrectos):

use My::; use My::*; use My;

También me gustaría preguntar si este uso cruzado de módulos y llamar a sus subrutinas se considera una buena práctica en la programación perl.

PD: @INC contiene el directorio actual para que los módulos de carga funcionen.

PPS: Módulos utilizados Exporter