NAME
CPAN::Index - Robust and object-oriented access to the CPAN index
DESCRIPTION
There are many parts of the CPAN toolchain that might benefit from
convenient access to the CPAN index metadata.
But for legacy compatibility reasons, most of this metadata is provided
in the form of three venerable uniquely-formatted text files.
Generally, this means that if you want access to them, you need to pull
the files from the CPAN, write a parser, store the objects in memory,
maybe cache them with Storable, and write your own hash indexing and
object-walking functions.
However, with the CPAN still growing, and further accelerating, it is
becoming increasingly unfeasible to store the CPAN metadata solely in
memory structures.
A more robust, richer, and more convenient approach is required.
CPAN::Index provides object-oriented access to the CPAN index, using a
collection of relatively common modules, and automates entire process of
fetching and accessing the index.
The index is stored in a DBD::SQLite database file, with an object model
implemented around it using DBIx::Class. To update the index, the
CPAN::Index::Loader class implements the logic to flush and reset the
database, fetch the index files, parse them, and repopulate the
database.
TO DO
- Write the index file download code
- Verify CPAN::Index handles index unicode data properly
- A bunch of other things...
SUPPORT
Bugs should be reported via the CPAN bug tracker
<
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=CPAN-Index>
For other issues, contact the author.
AUTHOR
Adam Kennedy <
[email protected]>
SEE ALSO
CPAN::Index::Loader, DBD::SQLite, DBIx::Class
COPYRIGHT
Copyright (c) 2006 Adam Kennedy. All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
The full text of the license can be found in the LICENSE file included
with this module.