Acme::CPANAuthors::Utils::Packages
use Acme::CPANAuthors::Utils::Packages; # you can't pass the raw content of 02packages.details.txt(.gz) my $packages = Acme::CPANAuthors::Utils::Packages->new( 'cpan/modules/02packages.details.txt.gz' ); my $package = $packages->package('Acme::CPANAuthors'); my $dist = $packages->distribution('I/IS/ISHIGAKI/Acme-CPANAuthors-0.12.tar.gz'); my $latest = $packages->latest_distribution('Acme-CPANAuthors');
This is a subset of Parse::CPAN::Packages. The reading methods are similar in general (accessors are marked as read-only, though). Internals and data-parsing methods may be different, but you usually don't need to care.
always takes a file name (both raw .txt file and .txt.gz file name are acceptable). Raw content of the file is not acceptable.
.txt
.txt.gz
takes a name of a package, and returns an object that represents it.
takes a file name of a distribution, and returns an object that represents it.
takes a name of a distribution, and returns an object that represents the latest version of it.
returns a list of stored packages or (latest) distribution objects.
returns the number of stored packages or (latest) distributions.
These are accessors to the preamble information of 02packages.details.txt.
02packages.details.txt
my $package = $packages->package('Acme::CPANAuthors'); print $package->package, "\n"; # Acme::CPANAuthors print $package->version, "\n"; # 0.12
returns an object that represents the distribution that the package belongs to.
my $dist = $packages->distribution('I/IS/ISHIGAKI/Acme-CPANAuthors-0.12.tar.gz'); print $dist->prefix,"\n"; # I/IS/ISHIGAKI/Acme-CPANAuthors-0.12.tar.gz print $dist->dist,"\n"; # Acme-CPANAuthors print $dist->version,"\n"; # 0.12 print $dist->maturity,"\n"; # released print $dist->filename,"\n"; # Acme-CPANAuthors-0.12.tar.gz print $dist->cpanid,"\n"; # ISHIGAKI print $dist->distvname,"\n"; # Acme-CPANAuthors-0.12
returns a list of objects that represent the packages the distribution contains. packages method returns it as an array reference, contains returns it as an array.
packages
contains
Parse::CPAN::Packages
Kenichi Ishigaki, <ishigaki@cpan.org>
Copyright (C) 2010 by Kenichi Ishigaki.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Acme::CPANAuthors, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Acme::CPANAuthors
CPAN shell
perl -MCPAN -e shell install Acme::CPANAuthors
For more information on module installation, please visit the detailed CPAN module installation guide.