Este es el comando pmloadp que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
pmload: muestra qué archivos carga un módulo determinado en tiempo de compilación
DESCRIPCIÓN
Dado un argumento de un nombre de módulo, muestre todos los archivos que se cargan directamente o
indirectamente cuando el módulo se utiliza en tiempo de compilación.
EJEMPLOS
$ pmload IO :: Manejar
/usr/local/devperl/lib/5.00554/Exportador.pm
/usr/local/devperl/lib/5.00554/Carpa.pm
/usr/local/devperl/lib/5.00554/strict.pm
/usr/local/devperl/lib/5.00554/vars.pm
/usr/local/devperl/lib/5.00554/i686-linux/DynaLoader.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO/Handle.pm
/usr/local/devperl/lib/5.00554/Símbolo.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO/File.pm
/usr/local/devperl/lib/5.00554/SelectSaver.pm
/usr/local/devperl/lib/5.00554/i686-linux/Fcntl.pm
/usr/local/devperl/lib/5.00554/AutoLoader.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO.pm
/usr/local/devperl/lib/5.00554/i686-linux/IO/Seekable.pm
$ cat `pmload IO :: Socket` | wc -l
4015
$ oldperl -S pmload Tk
/usr/lib/perl5/site_perl/Tk/Pretty.pm
/usr/lib/perl5/Símbolo.pm
/usr/lib/perl5/site_perl/Tk/Frame.pm
/usr/lib/perl5/site_perl/Tk/Toplevel.pm
/usr/lib/perl5/strict.pm
/usr/lib/perl5/Exportador.pm
/usr/lib/perl5/vars.pm
/usr/lib/perl5/site_perl/auto/Tk/Wm/autosplit.ix
/usr/lib/perl5/site_perl/auto/Tk/Widget/autosplit.ix
/usr/lib/perl5/site_perl/Tk.pm
/usr/lib/perl5/i386-linux/5.00404/DynaLoader.pm
/usr/lib/perl5/site_perl/auto/Tk/Frame/autosplit.ix
/usr/lib/perl5/site_perl/auto/Tk/Toplevel/autosplit.ix
/usr/lib/perl5/Carpa.pm
/usr/lib/perl5/site_perl/auto/Tk/autosplit.ix
/usr/lib/perl5/site_perl/Tk/CmdLine.pm
/usr/lib/perl5/site_perl/Tk/MainWindow.pm
/usr/lib/perl5/site_perl/Tk/Submethods.pm
/usr/lib/perl5/site_perl/Tk/Configure.pm
/usr/lib/perl5/AutoLoader.pm
/usr/lib/perl5/site_perl/Tk/Derivado.pm
/usr/lib/perl5/site_perl/Tk/Imagen.pm
/usr/lib/perl5/site_perl/Tk/Wm.pm
/usr/lib/perl5/site_perl/Tk/Widget.pm
NOTA
Si los programadores utilizaron un "require" retrasado, esos archivos no aparecerán. Además, este
no muestra todos los archivos posibles que se abren, solo los que están en% INC. La mayoría
los sistemas tienen una forma de rastrear las llamadas al sistema. Puede usar esto para encontrar la respuesta real.
Primero, obtenga una línea de base sin módulos cargados.
$ strace perl -e 1 2> & 1 | perl -nle '/^open\("(.*?)".* = [^ -] / && imprimir $ 1'
/etc/ld.so.cache
/lib/libnsl.so.1
/lib/libdb.so.2
/lib/libdl.so.2
/lib/libm.so.6
/lib/libc.so.6
/lib/libcrypt.so.1
/ dev / null
$ strace perl -e 1 2> & 1 | grep -c '^ abrir. * = [^ -]'
8
Ahora agregue cargas de módulos y vea lo que obtiene:
$ strace perl -MIO :: Socket -e 1 2> & 1 | grep -c '^ abrir. * = [^ -]'
24
$ strace perl -MTk -e 1 2> & 1 | grep -c '^ abrir. * = [^ -]'
35
Use pmloadp en línea usando los servicios de onworks.net