NAME
Parse::CPAN::Packages - Parse 02packages.details.txt.gz
SYNOPSIS
use Parse::CPAN::Packages;
# must have downloaded and un-gzip-ed
my $p = Parse::CPAN::Packages->new("02packages.details.txt");
# either a filename as above or pass in the contents of the file
my $p = Parse::CPAN::Packages->new($packages_details_contents);
my $m = $p->package("Acme::Colour");
# $m is a Parse::CPAN::Packages::Package object
print $m->package, "\n"; # Acme::Colour
print $m->version, "\n"; # 1.00
my $d = $p->distribution;
# $d is a Parse::CPAN::Packages::Distribution object
print $d->prefix, "\n"; # L/LB/LBROCARD/Acme-Colour-1.00.tar.gz
print $d->dist, "\n"; # Acme-Colour
print $d->version, "\n"; # 1.00
print $d->maturity, "\n"; # released
print $d->filename, "\n"; # Acme-Colour-1.00.tar.gz
print $d->cpanid, "\n"; # LBROCARD
print $d->distvname, "\n"; # Acme-Colour-1.00
# all the package objects
my @packages = $p->packages;
# all the distribution objects
my @distributions = $p->distributions;
# the latest distribution
$d = $p->latest_distribution("Acme-Colour");
is($d->prefix, "L/LB/LBROCARD/Acme-Colour-1.00.tar.gz");
is($d->version, "1.00");
# all the latest distributions
my @distributions = $p->latest_distributions;
DESCRIPTION
The Comprehensive Perl Archive Network (CPAN) is a very useful collection of Perl code. It has several indices of the files that it hosts, including a file named "02packages.details.txt.gz" in the "modules" directory. This file contains lots of useful information and this module provides a simple interface to the data contained within.
Note that this module does not concern itself with downloading or unpacking this file. You should do this yourself.
The constructor takes the path to the 02packages.details.txt file. It defaults to loading the file from the current directory.
In a future release Parse::CPAN::Packages::Package and Parse::CPAN::Packages::Distribution might have more information.
AUTHOR
Leon Brocard <acme@astray.com>
COPYRIGHT
Copyright (C) 2004, Leon Brocard
This module is free software; you can redistribute it or modify it under the same terms as Perl itself.