This is the README for CPAN::SQLite, which is used for setting up,
maintaining, and searching through a local CPAN database consisting
of information in the three main CPAN index files:
$CPAN/modules/03modlist.data.gz
$CPAN/modules/02packages.details.txt.gz
$CPAN/authors/01mailrc.txt.gz
DBD::SQLite is used as the database engine.
Installation proceeds through the usual
perl Makefile.PL
$MAKE
$MAKE test
$MAKE install
or, if Module::Build is available,
perl Build.PL
perl Build
perl Build test
perl Build install
The package consists of a number of modules:
CPAN::SQLite: the top-level package
CPAN::SQLite::Index: set up and maintain the database
CPAN::SQLite::Info: extract information from the CPAN indices
CPAN::SQLite::META: helper module for CPAN.pm integration
CPAN::SQLite::State: gather information on the state of the database
CPAN::SQLite::Search: methods to search the database
CPAN::SQLite::Populate: populate the database tables
CPAN::SQLite::DBI: DBI information for the database
CPAN::SQLite::DBI::Index: DBI information for indexing the database
CPAN::SQLite::DBI:Search: DBI information for searching the database
See the pod documentation of the specific modules for details.
Perhaps the easiest way to set up and maintain the database is through
the supplied cpandb script. If we assume that there is a CPAN.pm
client available and configured, the database can be created via
cpandb --setup
which will create the database file cpandb.sql under the
"cpan_home" defined in CPAN::Config (this is the same location
as where CPAN.pm's Metadata is found). Subsequent updates to
the database can be done through
cpandb --update
This scenario assumes that updates to the CPAN index files are
handled by CPAN.pm.
The cpandb script also provides some elementary searches:
cpandb --module My::Module
cpandb --dist My-Dist
cpandb --cpanid ME
which will provide some information on, respectively, the
specified CPAN module, distribution, and CPAN author id.
The query terms are assumed to match exactly, and are
case-insensitive.
As of CPAN.pm version 1.88_65, there is experimental support
within CPAN.pm for using CPAN::SQLite to obtain
information on packages, modules, and authors. One goal
of this is to reduce the memory footprint of the CPAN.pm
shell, as this information is no longer all preloaded into
memory. This can be enabled through
perl -MCPAN -e shell
cpan> o conf use_sqlite 1
This version is considered alpha. Please report bugs
and feature requests to CPAN's request tracker:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=CPAN-SQLite
or directly to the author. Development takes place at
http://cpan-search.svn.sourceforge.net/viewvc/cpan-search/CPAN-SQLite/
This software is copyright 2006 by Randy Kobes
. Use and
redistribution are under the same terms as Perl itself.