Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

List installed Perlmodules 1

Status
Not open for further replies.

mikri

Technical User
Dec 16, 2003
39
DE
Hi,

how can i list the installed Perlmodules an my Computer?


Thx
Michael
 
This is the code that I use on our servers -

#!/usr/bin/perl

use strict;
use File::Find;

my $count = 0;

my (@mod, %done, $dir);
find(\&get, grep { -r and -d } @INC);
@mod = grep(!$done{$_}++, @mod);
foreach $dir (sort { length $b <=> length $a } @INC) {
foreach (@mod) { next if s,^\Q$dir,,; }
}
print "Content-type: text/html\n\n";

print "<HTML><HEAD><TITLE>Installed Perl Modules</TITLE></HEAD><BODY bgcolor='#c0c0c0'>";
print "<h3 align='center'>Perl Modules Installed Thor</h3>";

# list table heading
print "<table border=1 bgcolor='#999999' align='center'>";
print "<tr><th>Perl Module Number</th><th>Perl Module Name</th></tr>\n";

foreach (@mod) { s,^/(.*)\.pm$,$1,; s,/,::,g;

print "<tr align='center'>";
print "<td>$count</td>";
print "<td>$_</td>";
print "</tr>\n";

$count++;
}

print "</table>";
print "Total : ($#mod modules!)\n\n";
sub get { /^.*\.pm$/ && /$ARGV[0]/i && push @mod, $File::Find::name; }


Hope this helps !

Rab
 
if you're on doze, and using activestate theres an option in PPM to list installed modules, I believe the same exists in the CPAN shell
HTH
--Paul

It's important in life to always strike a happy medium, so if you see someone with a crystal ball, and a smile on their face ...
 
Thanks for the support,
The script is exactly that wat i am looking for.


Thank You

Michael
 
Here's a way to do it if a text dump is okay with you.

use ExtUtils::Installed;

my $instmod = ExtUtils::Installed->new();

foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || "???";
print "$module -- $version\n";
}

exit(0);
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top