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"
Parallel::Scoreboard is a pure-perl implementation of a process
scoreboard. By using the module it is easy to create a monitor for
many worker process, like the status module of the Apache HTTP server.
Unlike other similar modules, Parallel::Scoreboard is easy to use and
has no limitation on the format or the length of the statuses to be
stored. Any arbitrary data (like JSON or frozen perl object) can be
saved by the worker processes as their status and read from the
manager process.
The idea behind this module is to provide a sort of plugin architecture for
Perl templating systems. Callbacks are executed by the contents of a request
to the Perl templating server, before the templating system itself executes.
This approach allows you to carry out logical processing of data submitted
from a form, to affect the contents of the request parameters before they're
passed to the templating system for processing, and even to redirect or abort
the request before the templating system handles it.
This is yet another file/directory handler that does a bit more than
Path::Class for some parts, and a bit less for other parts. One of
the main difference is Path::Extended always tries to use forward
slashes when possible, ie. even when you're on the MS Windows, so that
you don't need to care about escaping paths that annoys you from time
to time when you want to apply regexen to a path, especially in file
tests that use 'like' or 'compare'.
Smart comments provide an easy way to insert debugging and tracking code into
a program. They can report the value of a variable, track the progress of a
loop, and verify that particular assertions are true.
Best of all, when you're finished debugging, you don't have to remove them.
Simply commenting out the use Smart::Comments line turns them back into
regular comments. Leaving smart comments in your code is smart because if you
needed them once, you'll almost certainly need them again later.
This module provides a framework to produce sprite animations using
ASCII art. Each ASCII 'sprite' is given one or more frames, and placed
into the animation as an 'animation object'. An animation object can
have a callback routine that controls the position and frame of the
object.
If the constructor is passed no arguments, it assumes that it is
running full screen, and behaves accordingly. Alternatively, it can
accept a curses window (created with the Curses newwin call) as an
argument, and will draw into that window.
Term::Screen is a very simple screen positioning module that should work
wherever `Term::Cap' does. It is set up for Unix using stty's but these
dependencies are isolated by evals in the `new' constructor. Thus you may
create a child module implementing Screen with MS-DOS, ioctl, or other
means to get raw and unblocked input. This is not a replacement for
Curses -- it has no memory. This was written so that it could be easily
changed to fit nasty systems, and to be available first thing.