NAME
Module::ThirdParty - Provide information for 3rd party modules (outside CPAN)
VERSION
Version 0.09
SYNOPSIS
use Module::ThirdParty;
if(is_3rd_party($module)) {
my $info = module_information($module);
print "$module is a known third-party Perl module\n",
" -> included in $info->{name} ($info->{url})\n"
" -> made by $info->{author} ($info->{author_url})\n"
}
DESCRIPTION
Perl modules can be roughly classified in three categories:
core modules, included with the standard Perl distribution;
CPAN modules, available from any CPAN mirror;
third-party modules, including modules publicly available on the internet (outside CPAN) and "closed" modules available only through commercial licenses.
The list of core modules is provided by Module::CoreList
and the list of CPAN modules is in the file http://www.cpan.org/modules/02packages.details.txt.gz and provided by modules like CPANPLUS
, but there was no module that listed third-party modules. This module tries to address this need by providing such a list.
Why bother in the first place? Because some CPAN modules specify such third-party softwares. Therefore installing them may not be as easy as other CPAN modules because one must first find and manually install the prerequisites. The aim of Module::ThirdParty
is to provide basic information to installer shells like CPANPLUS
and to give hints to the user.
Note that there is also another category of modules regarding dependencies problems: the ghost modules. Those are modules no longer present on the CPAN, but which still haunt it from old PREREQS. They can be found in the BackPAN graveyard, for which the only map is Parse::BACKPAN::Packages
.
EXPORT
This module exports the functions is_3rd_party()
and module_information()
.
FUNCTIONS
- is_3rd_party()
-
Returns true if the given module name is a known third-party Perl module.
Example
print "$module is a known third-party module\n" if is_3rd_party($module)
- module_information()
-
Returns the information about a known third-party Perl Module or
undef
if the module is not known. The information is returnd as a hashref with the following keys:name
is the name of the software that provides the given module;url
is the URL where this software can be found;author
is the name of the author who publishes the software;author_url
is the URL of the author's web site;modules
is an arrayref which contains the list of the Perl modules provided by the software.
Example
my $info = module_information($module); print "$module is included in $info->{name}, which can be found at $info->{url}\n"
- provides()
-
Returns a list of hashref with the name and author of each software for which this module provides information.
Example
Prints the list of known third-party modules sorted by software name.
print "Known third-party software:\n"; my @softs = Module::ThirdParty::provides; for my $soft (sort {$a->{name} cmp $b->{name}} @softs) { print " - $$soft{name} by $$soft{author} \n" }
KNOWN THIRD-PARTY SOFTWARE
Here is the list of the third-party software know by this version of Module::ThirdParty
.
Apache Foundation mod_perl 1.0 - http://perl.apache.org/
Apple Perl/Objective-C bridge - http://developer.apple.com/
Autrijus Tang Version CoPy (VCP) - http://search.cpan.org/dist/VCP-autrijus-snapshot/
Best Practical Request Tracker - http://bestpractical.com/rt/
Brandon Long ClearSilver - http://www.clearsilver.net/
Brandon Long Directi Perl API - http://manage.directi.com/kb/servlet/KBServlet/faq685.html
CAIDA GeoPlot Perl API - http://www.caida.org/tools/visualization/geoplot/
CAIDA NetGeo API - http://www.caida.org/tools/utilities/netgeo/
CyberSource CyberCash - http://www.cybersource.com/support_center/implementation/downloads/
CyberSource ICS - http://www.cybersource.com/support_center/implementation/downloads/
Fidelia NetVigil - http://www.fidelia.com/products/
Gemplus TLP Driver - http://www.gemplus.com/techno/tlp_drivers/index.html
Gisle Aas Perl::API - http://search.cpan.org/dist/Perl-API/
Grant McLean Sprog - http://sprog.sourceforge.net/
Interchange Payment Modules - http://www.interchange.rtfm.info/downloads/payments/
LinkPoint API - https://www.linkpoint.com/viewcart/
Logical Information Machines Market Information Machine - http://www.lim.com/download/download_perl_api.html
Main Street Softworks Main Street Credit Verification Engine (MCVE) - http://www.mcve.com/
ManageIt perl4patrol - http://www.manageit.ca/p_and_s/tools/perl4patrol/perl4patrol.html
MaxMind GeoIP Perl API - http://www.maxmind.com/app/perl
Nara Institute of Science and Technology ChaSen - http://chasen.naist.jp/hiki/ChaSen/
Paradata Systems OpenConnect - http://www.paradata.com/tech/
Perforce - http://public.perforce.com/guest/tony_smith/perforce/API/Perl/index.html
Progress Software Fathom Management Perl API - http://psdn.progress.com/library/fathom/
rfp.labs LibWhisker - http://www.wiretrip.net/rfp/lw.asp
rfp.labs LibWhisker2 - http://www.wiretrip.net/rfp/lw1.asp
Roth Consulting's Perl Contributions - http://www.roth.net/perl/
Six Apart Movable Type - http://www.sixapart.com/movabletype/
Subversion - http://subversion.tigris.org/
Swish-e - http://www.swish-e.org/
TrustCommerce TCLink - http://www.trustcommerce.com/
US National Virtual Observatory VOTable - http://www.us-vo.org/VOTable/
VeriSign PayFlow Pro - http://www.verisign.com/products-services/payment-processing/online-payment/payflow-pro/index.html
VMware Perl API - http://www.vmware.com/support/developer/perl-API/doc/
Zeus Technology Zeus Web Server Perl Extensions - http://support.zeus.com/doc/api/perl/
SEE ALSO
Module::CoreList, CPANPLUS, Parse::BACKPAN::Packages
AUTHOR
Sébastien Aperghis-Tramoni, <sebastien@aperghis.net>
BUGS
Please report any bugs or feature requests to bug-module-thirdparty@rt.cpan.org
, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=Module-ThirdParty. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2005 Sébastien Aperghis-Tramoni, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.