Apache::CPAN::Query - mod_perl interface to CPAN::Search::Lite::Query
This module provides a mod_perl (2) interface to CPAN::Search::Lite::Query. The modules Apache::Request and Apache::Cookie of the libapreq2 distribution are required. A directive
Apache::Request
Apache::Cookie
libapreq2
PerlLoadModule Apache::CPAN::Query
should appear before any of the Location directives using the module. As well, the following directives should be defined in the Apache configuration file.
Location
CSL_db database
the name of the database [required]
CSL_user user
the user to connect to the database as [required]
CSL_passwd password
the password to use for this user [optional if no password is required for the user specified in CSL_user.]
CSL_user
CSL_tt2 /path/to/tt2
the path to the tt2 pages [required].
CSL_dl http://www.cpan.org
the default download location [optional - http://www.cpan.org will be used if not specified]
CSL_max_results 200
the maximum number of results to obtain [optional - 200 will be used if not specified]
CSL_html_root /usr/local/httpd/CPAN
the path to the local html docs [required for the perldoc handler]
CSL_html_uri http://you.org/CPAN/docs
the uri to use for the html docs [required for the perldoc handler]
Available response handlers are as follows.
search
<Location "/search"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->search </Location>
This handles search queries such as for http://localhost/search?mode=dist;query=libnet. mode can be one of dist, module, or author. A search using the specified query will be done on, respectively, distribution names and abstracts, module names and abstracts, and CPAN ids and full names.
mode
dist
module
author
query
cpanid
<LocationMatch "/~[A-Za-z0-9-]+"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->cpanid </LocationMatch>
There are two levels:
http://localhost/~cpanid
This will bring up a page of information on the author whose cpanid is CPANID.
CPANID
http://localhost/~cpanid/Dist-Name
This will bring up a page of information on the distribution Dist-Name of cpanid CPANID.
Dist-Name
<Location "/author"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->author </Location>
There are 3 levels:
http://localhost/author
This brings up a menu of letters of the alphabet to link to authors whose ids begin with that letter.
http://localhost/author/CPANID
This brings up an information page for the author with cpanid CPANID.
http://localhost/author/A/
This brings up a list of all authors whose cpanids begin with A.
A
<Location "/dist"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->dist </Location>
There are 4 levels:
http://localhost/dist
This brings up a menu of letters of the alphabet to link to distributions whose names begin with that letter.
http://localhost/dist/Dist-Name
This brings up an information page for the distribution with name Dist-Name.
http://localhost/dist/A/
This brings up a list of all distributions whose names begin with A.
http://localhost/dist/ABC/
This brings up a list of all distributions whose names match ABC-*.
ABC-*
<Location "/module"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->module </Location>
http://localhost/module
This brings up a menu of letters of the alphabet to link to mocules whose names begin with that letter.
http://localhost/module/Mod::Name
This brings up an information page for the module with name Mod::Name.
Mod::Name
http://localhost/module/A/
This brings up a list of all modules whose names begin with A.
http://localhost/module/ABC/
This brings up a list of all modules whose names match ABC::*.
ABC::*
chapter
<Location "/chapter"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->chapter </Location>
http://localhost/chapter
This brings up a menu of all available chapter headings (as appears in %chaps of CPAN::Search::Lite::Util).
%chaps
CPAN::Search::Lite::Util
http://localhost/chapter/Data_Type_Utilities
This brings up a list all subchapters of the Data Type Utilities chapter.
Data Type Utilities
http://localhost/chapter/Data_Type_Utilities/Tie
This brings up a list of all distributions in the Tie subchapter of the Data Type Utilities chapter.
Tie
recent
<Location "/recent"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->recent </Location>
With this, a request for http://localhost/recent will list all distributions uploaded in the last 7 days.
mirror
<Location "/mirror"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->mirror </Location>
With this, a request for http://localhost/mirror will bring up a page whereby the user can change the location of where downloads will be redirected to. This requires cookies to be enabled.
perldoc
<Location "/perldoc"> SetHandler perl-script PerlResponseHandler Apache::CPAN::Query->perldoc </Location>
With this, a request for, eg, http://localhost/perldoc/perlfaq will be redirected to the perfaq documentation, and a request for, eg, http://localhost/perldoc/Net::FTP, will be redirected to the documentation for Net::FTP.
Apache::CPAN::Search, CPAN::Search::Lite::Query, and mod_perl.
To install CPAN::Search::Lite, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CPAN::Search::Lite
CPAN shell
perl -MCPAN -e shell install CPAN::Search::Lite
For more information on module installation, please visit the detailed CPAN module installation guide.