The Proc::Reliable is intended to be a method for simple, reliable
and configurable subprocess execution in PERL. It includes all the
functionality of the backticks operator and system() functions,
plus many uses of fork/exec, open2() and open3(). Proc::Reliable
incorporates a number of options, including sending data to the
subprocess on STDIN, collecting STDOUT and STDERR separately or
together, killing hung processes, timeouts and automatic retries.
Seamus Venasse <svenasse@polaris.ca>
This is a rather simplistic lexer and tokenizer for the RPSL language.
It currently does not validate the object in any way, it just tries
(rather hard) to grab the biggest ammount of information it can from the
text presented and place it in a Parse Tree (that can be passed to other
objects from the RPSL namespace for validation and more RFC2622 related
functionality).
Support for the foreach looping construct. Foreach is an idiom that
allows for iterating over elements in a collection, without the use
of an explicit loop counter. This package in particular is intended
to be used for its return value, rather than for its side effects.
In that sense, it is similar to the standard lapply function, but
doesn't require the evaluation of a function. Using foreach without
side effects also facilitates executing the loop in parallel.
Rinci is a set of extensible, language-neutral metadata specifications for your
code (functions/methods, variables, packages, classes, and so on). It allows
various helper tools, from code generator to web middleware to documentation
generator to other protocols, to act on your code, making your life easier as a
programmer. Rinci also allows better interoperability between programming
languages. It is geared towards dynamic scripting languages like Perl, Python,
Ruby, PHP, JavaScript, but is not limited to those languages.
Term::ReadKey is a compiled perl module dedicated to
providing simple control over terminal driver modes
(cbreak, raw, cooked, etc.,) support for non-blocking
reads, if the architecture allows, and some generalized
handy functions for working with terminals. One of the
main goals is to have the functions as portable as
possible, so you can just plug in "use Term::ReadKey" on
any architecture and have a good likelihood of it working.
Excerpted from the README file:
Term::Query.pm is a Perl 5 module, which performs generalized queries on
various kinds of values. Validation and normalization of input, based
on the type, is automated, as is error reporting and re-solicitation of
input.
Input of '?', unless configured otherwise, provides useful, helpful
information, based on the expected input type, even in the absence of a
programmer-supplied help string.
Perl 5 ships with a module called Term::ReadLine which is an interface
to command line editing and recall. The version that ships with Perl
is only a stub, and offers little functionality.
This module supplements Term::ReadLine so that it uses GNU readline,
which comes with FreeBSD. Applications that use Term::ReadLine do
not need to be modified to gain the benefits of this package; it will
happen transparently upon installation.
Test::Assertions provides a convenient set of tools for constructing
tests, such as unit tests or run-time assertion checks (like C's
ASSERT macro). Unlike some of the Test:: modules available on CPAN,
Test::Assertions is not limited to unit test scripts; for example
it can be used to check output is as expected within a benchmarking
script. When it is used for unit tests, it generates output in the
standard form for CPAN unit testing (under Test::Harness).
When coding it is common to come up against problems that need to be addressed
but that are not a big deal at the moment. What generally happens is that the
coder adds comments like:
# FIXME - what about windows that are bigger than the screen?
# FIXME - add checking of user priviledges here.
Test::Fixme allows you to add a test file that ensures that none of these get
forgotten in the module.
This modules causes any warnings produced by test scripts to be
captured and stored. It automatically adds an extra test that will run
when your script ends to check that there were no warnings. If there
were any warnings, the test will give a "not ok" and diagnostics of
where, when and what the warning was, including a stack trace of what
was going on when the it occurred.