NAME
Parse::BACKPAN::Packages - Provide an index of BACKPAN
SYNOPSIS
use Parse::BACKPAN::Packages;
my $p = Parse::BACKPAN::Packages->new();
print "BACKPAN is " . $p->size . " bytes\n";
my @filenames = keys %$p->files;
# see Parse::BACKPAN::Packages::File
my $file = $p->file("authors/id/L/LB/LBROCARD/Acme-Colour-0.16.tar.gz");
print "That's " . $file->size . " bytes\n";
# see Parse::BACKPAN::Packages::Distribution
my @acme_colours = $p->distributions("Acme-Colour");
my @authors = $p->authors;
my @acmes = $p->distributions_by('LBROCARD');
DESCRIPTION
The Comprehensive Perl Archive Network (CPAN) is a very useful
collection of Perl code. However, in order to keep CPAN relatively
small, authors of modules can delete older versions of modules to only
let CPAN have the latest version of a module. BACKPAN is where these
deleted modules are backed up. It's more like a full CPAN mirror, only
without the deletions. This module provides an index of BACKPAN and some
handy functions.
The data is fetched from the net and cached for an hour.
METHODS
new
The constructor downloads a ~1M index file from the web and parses it,
so it might take a while to run:
my $p = Parse::BACKPAN::Packages->new();
authors
The authors method returns a list of all the authors. This is meant so
that you can pass them into the distributions_by method:
my @authors = $p->authors;
distributions
The distributions method returns a list of objects representing all the
different versions of a distribution:
# see Parse::BACKPAN::Packages::Distribution
my @acme_colours = $p->distributions("Acme-Colour");
distributions_by
The distributions_by method returns a list of distribution names
representing all the distributions that an author has uploaded:
my @acmes = $p->distributions_by('LBROCARD');
file
The file method finds metadata relating to a file:
# see Parse::BACKPAN::Packages::File
my $file = $p->file("authors/id/L/LB/LBROCARD/Acme-Colour-0.16.tar.gz");
print "That's " . $file->size . " bytes\n";
files
The files method returns a hash reference where the keys are the
filenames of the files on CPAN and the values are
Parse::BACKPAN::Packages::File objects:
my @filenames = keys %$p->files;
size
The size method returns the sum of all the file sizes in BACKPAN:
print "BACKPAN is " . $p->size . " bytes\n";
AUTHOR
Leon Brocard <acme@astray.com>
COPYRIGHT
Copyright (C) 2005-9, Leon Brocard
LICENSE
This module is free software; you can redistribute it or modify it under
the same terms as Perl itself.
SEE ALSO
CPAN::DistInfoname, Parse::BACKPAN::Packages::File,
Parse::BACKPAN::Packages::Distribution, Parse::CPAN::Packages.