NAME
CPAN::SQLite::Info - extract information from CPAN indices
DESCRIPTION
This module extracts information from the CPAN indices $CPAN/modules/03modlist.data.gz, $CPAN/modules/02packages.details.txt.gz, and $CPAN/authors/01mailrc.txt.gz.
A CPAN::SQLite::Info
object is created with
my $info = CPAN::SQLite::Info(CPAN => $cpan);
where $cpan
specifies the top-level CPAN directory underneath which the index files are found. Calling
$info->fetch_info();
will result in the object being populated with 3 hash references:
$info->{dists}
This contains information on distributions. Keys of this hash reference are the distribution names, with the associated value being a hash reference with keys of
dist_vers
- the version of the CPAN filedist_file
- the CPAN filenamedist_abs
- a description, if availablemodules
- specifies the modules present in the distribution:-
for my $module (keys %{$info->{$distname}->{modules}}) { print "Module: $module\n"; }
chapterid
- specifies the chapterid and the subchapter for the distribution:-
for my $id (keys %{$info->{$distname}->{chapterid}}) { print "For chapterid $id\n"; for my $sc (keys %{$info->{$distname}->{chapterid}->{$id}}) { print " Subchapter: $sc\n"; } }
$info->{mods}
This contains information on modules. Keys of this hash reference are the module names, with the associated values being a hash reference with keys of
$info->{auths}
This contains information on CPAN authors. Keys of this hash reference are the CPAN ids, with the associated value being a hash reference with keys of