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

SEE ALSO

CPAN::SQLite::Index