kr123 has asked for the wisdom of the Perl Monks concerning the following question:

Anyone know offhand of a good way to list all installed modules on a system? I'd like to compare the versions and modules installed between two hosts.

Replies are listed 'Best First'.
Re: Script to List all Install Modules
by davidrw (Prior) on Aug 12, 2005 at 15:41 UTC
Re: Script to List all Install Modules
by ikegami (Patriarch) on Aug 12, 2005 at 15:43 UTC
Re: Script to List all Install Modules
by kr123 (Novice) on Aug 12, 2005 at 15:44 UTC
    Found in /usr/lib/perl5/5.8.5/pod/perlfaq3.pod
           How do I find which modules are installed on my system?
           You can use the ExtUtils::Installed module to show all installed distributions,
           although it can take awhile to do its magic.  The standard library which comes with
           Perl just shows up as "Perl" (although you can get those with Module::CoreList).
                   use ExtUtils::Installed;
                   my $inst    = ExtUtils::Installed->new();
                   my @modules = $inst->modules();
           If you want a list of all of the Perl module filenames, you can use File::Find::Rule.
                   use File::Find::Rule;
                   my @files = File::Find::Rule->file()->name( ’*.pm’ )->in( @INC );
           If you do not have that module, you can do the same thing with File::Find which is
           part of the standard library.
               use File::Find;
               my @files;
               find sub { push @files, $File::Find::name if -f _ && /\.pm$/ },
                   print join "\n", @files;
           If you simply need to quickly check to see if a module is available, you can check for
           its documentation.  If you can read the documentation the module is most likely
           installed.  If you cannot read the documentation, the module might not have any (in
           rare cases).
                   prompt% perldoc Module::Name
           You can also try to include the module in a one-liner to see if perl finds it.
                   perl -MModule::Name -e1
Re: Script to List all Install Modules
by planetscape (Chancellor) on Aug 12, 2005 at 23:18 UTC