CPAN::SQLite::Info(3) extract information from CPAN indices

VERSION

version 0.211

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->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