pmload
(1)
Name
pmload - show what files a given module loads at compile
time
Synopsis
Please see following description for synopsis
Description
User Contributed Perl Documentation PMLOAD(1)
NAME
pmload - show what files a given module loads at compile
time
DESCRIPTION
Given an argument of a module name, show all the files that
are loaded directly or indirectly when the module is used at
compile-time.
EXAMPLES
$ pmload IO::Handle
/usr/local/devperl/lib/5.00554/Exporter.pm
/usr/local/devperl/lib/5.00554/Carp.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/Symbol.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/Symbol.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/Exporter.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/Carp.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/Derived.pm
/usr/lib/perl5/site_perl/Tk/Image.pm
/usr/lib/perl5/site_perl/Tk/Wm.pm
perl v5.12.5 Last change: 2008-02-29 1
User Contributed Perl Documentation PMLOAD(1)
/usr/lib/perl5/site_perl/Tk/Widget.pm
NOTE
If the programmers used a delayed "require", those files
won't show up. Furthermore, this doesn't show all possible
files that get opened, just those that those up in %INC.
Most systems have a way to trace system calls. You can use
this to find the real answer. First, get a baseline with no
modules loaded.
$ strace perl -e 1 2>&1 | perl -nle '/^open\("(.*?)".* = [^-]/ && print $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 '^open.*= [^-]'
8
Now add module loads and see what you get:
$ strace perl -MIO::Socket -e 1 2>&1 | grep -c '^open.*= [^-]'
24
$ strace perl -MTk -e 1 2>&1 | grep -c '^open.*= [^-]'
35
ATTRIBUTES
See attributes(5) for descriptions of the following
attributes:
+---------------+----------------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+----------------------------+
|Availability | library/perl-5/pmtools-512 |
+---------------+----------------------------+
|Stability | Uncommitted |
+---------------+----------------------------+
SEE ALSO
Devel::Loaded, plxload(1).
AUTHORS and COPYRIGHTS
Copyright (C) 1999 Tom Christiansen.
Copyright (C) 2006-2008 Mark Leighton Fisher.
perl v5.12.5 Last change: 2008-02-29 2
User Contributed Perl Documentation PMLOAD(1)
This is free software; you can redistribute it and/or modify
it under the terms of either: (a) the GNU General Public
License as published by the Free Software Foundation; either
version 1, or (at your option) any later version, or (b) the
Perl "Artistic License". (This is the Perl 5 licensing
scheme.)
Please note this is a change from the original pmtools-1.00
(still available on CPAN), as pmtools-1.00 were licensed
only under the Perl "Artistic License".
NOTES
This software was built from source available at
https://java.net/projects/solaris-userland. The original
community source was downloaded from
http://search.cpan.org/CPAN/authors/id/M/ML/MLFISHER/pmtools-1.10.tar.gz
Further information about this software can be found on the
open source community website at
http://search.cpan.org/dist/pmtools/.
perl v5.12.5 Last change: 2008-02-29 3