Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3FB493F2.2070105@fillmore-labs.com> Date: Fri, 14 Nov 2003 09:36:02 +0100 From: Patrick Eisenacher MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Perl CPAN module help References: <3FB3B2CB AT epostleser DOT online DOT no> <6jc7rv4palt1j9tpjomtfdg802udungc0t AT 4ax DOT com> <3FB3EEA6 DOT 10EB0BD5 AT dessent DOT net> In-Reply-To: <3FB3EEA6.10EB0BD5@dessent.net> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated-Sender: eisenacher AT fillmore-labs DOT com User-Agent: KMail/1.5.9 Organization: Fillmore Labs GmbH X-Complaints-To: abuse AT fillmore-labs DOT com 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/