Module::ExtractUse is basically a Parse::RecDescent grammar to
parse Perl code. It tries very hard to find all modules
(whether pragmas, Core, or from CPAN) used by the parsed code.
Module::Find lets you find and use modules in categories. This can be very
useful for auto-detecting driver or plugin modules. You can differentiate
between looking in the category itself or in all subcategories.
Module::Functions is a library to get a public functions list from
package. It is useful to create a exportable function list.
Module::Implementation abstracts out the process of choosing one of several
underlying implementations for a module. This can be used to provide XS and pure
Perl implementations of a module, or it could be used to load an implementation
for a given OS or any other case of needing to provide multiple implementations.
Module::Implementation is only useful when you know all the implementations
ahead of time. If you want to load arbitrary implementations then you probably
want something like a plugin system, not this module.
Module::Versions handles versions of loaded modules with a flexible
result interface. The main goal is to get as much version
informations as possible about a module or module list with a simple
call interface and an absolutely flexible result interface.
Module::Versions handles *loaded* and *loadable* modules.
Module::Inspector provides a wrapper around various modules used to read and
examine the different parts of a Perl module distribution tarball, and can
inspect a module unrolled on disk, in a repository checkout, or just look
directly inside a tarball. It also rovides a companion to the Class::Inspector
API for accessing information on class after installation.
Module::Path provides a single function, module_path(), which will
find where a module is installed locally.
Module::Install is a standalone, extensible installer for Perl modules.
It is designed to be a drop-in replacement for ExtUtils::MakeMaker, and is a
descendent of CPAN::MakeMaker.
Please type "perldoc Module::Install" after installation to see the
module usage information.
Module::Manifest is a simple utility module created originally for use
in Module::Inspector. It allows you to load the MANIFEST file that comes
in a Perl distribution tarball, examine the contents, and perform some
simple tasks.
Granted, the functionality needed to do this is quite simple, but the Perl
distribution MANIFEST specification contains a couple of little idiosyncracies,
such as line comments and space-separated inline comments.
Provides a simple but, hopefully, extensible way of having 'plugins'
for your module. Obviously this isn't going to be the be all and
end all of solutions but it works for me.
Essentially all it does is export a method into your namespace that
looks through a search path for .pm files and turn those into class
names.
Optionally it instantiates those classes for you.