This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Perl CPAN module help


man CPAN has this to offer:

# list all modules on my disk that have newer versions on CPAN
for $mod (CPAN::Shell->expand("Module","/./")){
  next unless $mod->inst_file;
  next if $mod->uptodate;
  printf "Module %s is installed as %s, could be updated to %s from C
PAN\n", $mod->id, $mod->inst_version, $mod->cpan_version;
}

which gives you a list of all installed modules, including the distribution ones.


HTH, Patrick

Brian Dessent schrieb:
zzapper wrote:

Peter,


cpan

cpan>


How do you list modules already installed?


There's no definitive way to do this.  If you just want to see if you
have the Foo::Bar module, you can use "perl -MFoo::Bar -e 1" and if you
get an error then you need to install Foo::Bar.

You can also try the following script which uses the ExtUtils::Installed
module, but I have found that its output is sometimes misleading, in
that it will not display base (stock included) modules.  And I'm not
sure if it knows about modules that are installed through means other
than CPAN (e.g. through your distro's package manager.)

#!/usr/bin/perl

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

Brian



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]