man pages section 1: User Commands

Exit Print View

Updated: July 2014
 
 

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