NAME

Module::ThirdParty - Provide information for 3rd party modules (outside CPAN)

VERSION

Version 0.04

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.

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"

SEE ALSO

Module::CoreList, CPANPLUS

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.