NAME

CPAN::Index::File::ModList - Interface to 03modlist.data.

SYNOPSIS

  my $modlist = CPAN::Index::File::ModList->parse_from_repo_uri(
    'http://cpan.perl.org'
  );

  foreach my $module ($modlist->modules) {
    ... # do something
  }

DESCRIPTION

This is a class to read and write 03modlist.data.

METHODS

modules

List of hashrefs containing module data. Each hashref has the following structure.

name

Module name, e.g. Foo::Bar.

description

Short description of the module.

authorid

CPAN id of the module author.

chapterid

Number of the chapter under which the module is classified. Valid options are:

2 - Perl Core Modules
3 - Development Support
4 - Operating System Interfaces
5 - Networking Devices IPC
6 -Data Type Utilities
7 - Database Interfaces
8 - User Interfaces
9 - Language Interfaces
10 - File Names Systems Locking
11 - String Lang Text Proc
12 - Opt Arg Param Proc
13 - Internationalization Locale
14 - Security and Encryption
15 - World Wide Web HTML HTTP CGI
16 - Server and Daemon Utilities
17 - Archiving and Compression
18 - Images Pixmaps Bitmaps
19 - Mail and Usenet News
20 - Control Flow Utilities
21 - File Handle Input Output
22 - Microsoft Windows Modules
23 - Miscellaneous Modules
24 - Commercial Software Interfaces
26 - Documentation
27 - Pragma
28 - Perl6
99 - Not In Module list
development_stage

Single character indicating the development stage of the module. Valid options are:

M - Mature (no rigorous definition)
R - Released
S - Standard, supplied with Perl 5
a - Alpha testing
b - Beta testing
c - Under construction but pre-alpha (not yet released)
i - Idea, listed to gain consensus or as a placeholder
support_level

Single character indicating the type of support provided for the module. Valid options are:

a - Abandoned, the module has been abandoned by its author
d - Developer
m - Mailing-list
n - None known, try comp.lang.perl.modules
u - Usenet newsgroup comp.lang.perl.modules
language_used

Single character indicating the programming languages used in the module. Valid options are:

+ - C++ and perl, a C++ compiler will be needed
c - C and perl, a C compiler will be needed
h - Hybrid, written in perl with optional C code, no compiler needed
o - perl and another language other than C or C++
p - Perl-only, no compiler needed, should be platform independent
interface_style

Single character indicating the interface of the module. Valid options are:

O - Object oriented using blessed references and/or inheritance
f - plain Functions, no references used
h - hybrid, object and function interfaces available
n - no interface at all (huh?)
r - some use of unblessed References or ties
public_license

Single character indicating the license under which the module is distributed. Valid options are:

a - Artistic license alone
b - BSD: The BSD License
g - GPL: GNU General Public License
l - LGPL: "GNU Lesser General Public License" (previously known as "GNU Library General Public License")
o - other (but distribution allowed without restrictions)
p - Standard-Perl: user may choose between GPL and Artistic

module_count

Number of modules indexed in the file.

filename

Name of this file - defaults to 03modlist.data.gz;

description

Short description of the file.

parse

Parses the file and returns its representation as a data structure.

default_location

Default file location - modules/03modlist.data.gz.

METHODS FROM ROLES

<CPAN::Index::API::Role::Readable/read_from_string>
<CPAN::Index::API::Role::Readable/read_from_file>
<CPAN::Index::API::Role::Readable/read_from_tarball>
<CPAN::Index::API::Role::Readable/read_from_repo_path>
<CPAN::Index::API::Role::Readable/read_from_repo_uri>
"tarball_is_default" in CPAN::Index::API::Role::Writable
"repo_path" in CPAN::Index::API::Role::Writable
"template" in CPAN::Index::API::Role::Writable
"content" in CPAN::Index::API::Role::Writable
"write_to_file" in CPAN::Index::API::Role::Writable
"write_to_tarball" in CPAN::Index::API::Role::Writable
"clone" in CPAN::Index::API::Role::Clonable
"filename" in CPAN::Index::API::Role::HavingFilename
"generated_by" in CPAN::Index::API::Role::HavingGeneratedBy
"last_generated" in CPAN::Index::API::Role::HavingGeneratedBy