delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/11/14/03:35:52

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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 <eisenacher AT fillmore-labs DOT com>
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>
X-Authenticated-Sender: eisenacher AT fillmore-labs DOT com
User-Agent: KMail/1.5.9
Organization: Fillmore Labs GmbH <http://www.fillmore-labs.com/>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019