CPAN::SQLite::Info - extract information from CPAN indices
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->new(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 file
- "dist_file" - the CPAN filename
- "cpanid" - the CPAN author id
- "dist_abs" - a description, if available
- "modules" - 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
- "dist_name" - the distribution name containing the module
- "mod_vers" - the version
- "mod_abs" - a description, if available
- "chapterid" - the chapter id of the module, if present
- "dslip" - a 5 character string specifying the dslip
(development, support, language, interface, public licence)
information.
- •
- "$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
- "fullname" - the author's full name
- "email" - the author's email address