Utility for module developers to selectively reload needed modules
and/or conditionally augment @INC with additional, per-developer
library directories, at development time based on environment
variables.
Particularly helpful in conjunction with mod_perl applications where
some or all application logic resides in separate Perl modules that
would otherwise not get reloaded until the server restarts.
Module::CheckVersion checks latest version of modules with CPAN (or equivalent
repo).
Module::Collect collects module files from some directories.
The functions exported by this module deal with runtime handling of Perl
modules, which are normally handled at compile time.
This module provides a system for writing modules that *compile* other
Perl modules.
Modules that use these compilation modules get compiled into some
altered form the first time they are run. The result is cached into
".pmc" files.
Perl has native support for ".pmc" files. It always checks for them,
before loading a ".pm" file.
Module::CoreList contains the hash of hashes %Module::CoreList::version,
this is keyed on perl version as indicated in $]. The second level hash
is module => version pairs.
It also contains %Module::CoreList::released hash, which has ISO formatted
versions of the release dates, as gleaned from the perlhist man page.
Module::Dependency - Collection of modules for examining dependencies
between parents and children, like Perl files
A set of pure-perl modules and helper programs that let you build a
database of the dependency links between a collection of Perl files,
and then query that database, even producing text, HTML, PostScript
or graphical reports.
The database in question is actually a simple Storable image of a
Perl data structure, and you can create as many of these as you want.
You can use the command-line tools, or write your own Perl to query
and manipulate the data however you want.
Module::Depends extracts module dependencies from an unpacked distribution
tree.
Module::Depends only evaluates the META.yml shipped with a distribution.
This won't be effective until all distributions ship META.yml files, so we
suggest you take your life in your hands and look at
Module::Depends::Intrusive.
Module::Extract is a convenience base class for creating module that work with
Perl distributions. Its purpose is to take care of the mechanisms of locating
and extracting a Perl distribution so that your module can do something specific
to the distribution.
This module was originally created to provide an abstraction for the extraction
logic for both Module::Inspector and Module::P4P and to allow additional
features to be added in the future without having to modify both of them,
because the general problem of "locate, download, and expand a distribution"
is one that is almost ideal for adding additional features down the line.
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.