ExtUtils::InstallPaths tries to make install path resolution as easy as
possible.
When you want to install a module, it needs to figure out where to install
things. The nutshell version of how this works is that default installation
locations are determined from ExtUtils::Config, and they may be individually
overridden by using the install_path attribute. An install_base attribute lets
you specify an alternative installation root like /home/foo and prefix does
something similar in a rather different (and more complicated) way. destdir lets
you specify a temporary installation directory like /tmp/install in case you
want to create bundled-up installable packages.
rth is a web-based tool designed to manage requirements, tests,
test results, and defects throughout the application life cycle.
The tool provides a structured approach to software testing and
increases the visibility of the testing process by creating a
common repository for all test assets including requirements,
test cases, test plans, and test results. Regardless of their
geographic location, rth allows testers, developers, business
analysts, and managers to monitor and gauge application
readiness. The tool includes modules for requirements management,
test planning, test execution, defect tracking, and reporting.
IO-stringy makes it possible to create perl filehandles that point to
just about any object. It contains next modules:
IO::AtomicFile - write a file which is updated atomically
IO::InnerFile - define a file inside another file
IO::Lines - IO:: interface for reading/writing an array of lines
IO::Scalar - IO:: interface for reading/writing a scalar
IO::ScalarArray - IO:: interface for reading/writing an array of scalars
IO::Wrap - wrap raw filehandles in IO::Handle interface
IO::WrapTie - wrap tieable objects in IO::Handle interface
IPC::MMA provides an interface to Ralf Engelschall's mm library, allowing
memory to be shared between multiple processes in a relatively
convenient way.
IPC::MMA is a superset of Arthur Choung's IPC::MM module, adding arrays and
allowing any Perl scalar to be used as a hash/BTree key rather than just C
strings. IPC::MMA hashes are like IPC::MM BTrees in that they return keys in
sorted order ineach, keys, and next operations.
An IPC::MMA array can store data in any of six ways, including general-purpose
scalars, signed or unsigned integers, floating-point numbers, fixed-length
strings/records, and booleans at one bit per array element.
Log::Dump is a simple logger mix-in mainly for debugging. This
installs six methods into a caller (the class that used Log::Dump) via
Sub::Install. The point is you don't need to load extra dumper modules
or you don't need to concatenate messages. Just log things and they
will be dumped (and concatenated if necessary) to stderr, and to a
file if you prefer. Also, you can use these logging methods as class
methods or object methods (though usually you don't want to mix them,
especially when you're doing something special).
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.
MooseX-App is a highly customizeable helper to write user-friendly command-line
applications without having to worry about most of the annoying things usually
involved. Just take any existing Moose class, add a single line (use MooseX-App
qw(PluginA PluginB ...)) and create one class for each command in an underlying
namespace.
MooseX-App will then take care of
- Finding, loading and initializing the command classes
- Creating automated doucumentation
- Reading and validating the command line options entered by the user
Read the Tutorial[1] for getting started with a simple MooseX::App command line
application.
[1] http://search.cpan.org/dist/MooseX-App/lib/MooseX/App/Tutorial.pod
Object::Destroyer allows for the creation of "Destroy" handles. The
handle is "attached" to the circular relationship, but is not a part
of it. When the destroy handle falls out of scope, it will be cleaned
up correctly, and while being cleaned up, it will also force the data
structure it is attached to be destroyed as well. Object::Destroyer
can call a specified release method on an object (or method DESTROY by
default). Alternatively, it can execute an arbitrary user code passed
to constructor as a code reference.
This module creates and manipulates PAR distributions. They are
architecture-specific PAR files, containing everything under blib/
of CPAN distributions after their "make" or "Build" stage, a META.yml
describing metadata of the original CPAN distribution, and a MANIFEST
detailing all files within it. Digitally signed PAR distributions
will also contain a SIGNATURE file.
The naming convention for such distributions is:
$NAME-$VERSION-$ARCH-$PERL_VERSION.par
For example, "PAR-Dist-0.01-i386-freebsd-5.8.0.par" corresponds to the
0.01 release of "PAR-Dist" on CPAN, built for perl 5.8.0 running on
"i386-freebsd".
The PAR Toolkit is a cross between Java's JAR and Perl2EXE; It makes
cross-platform packaging and deployment a breeze for Perl programmers.
Notable features include:
* Turn your Perl programs into ready-to-run executables
* Pack scripts and required libraries with a binary loader
* Put PAR files into @INC to avoid version conflicts
* Works with remote URL as well as local files
* Supports XS modules and DATA sections
* Turns CPAN module distributions into PAR distributions
* Install, uninstall, signs and verifies PAR distributions
* Runs scripts inside PAR files, generated by "pp -p"