Set::NestedGroups gives an implementation of nested groups, access
control lists (ACLs) would be one example of nested groups.
For example, if Joe is a Manager, and Managers have access to payroll,
you can create an ACL which implements these rules, then ask the ACL if
Joe has access to payroll.
Execute a command, and returns output from STDOUT and STDERR. Much like
system(). $? is set. (Much cheaper than using open3() to get the same
info.)
If $debug is set, on-the fly diagnostics will be reported about how much
data is being read.
Create a list by taking one item from each array, and do that for all
possible ways that can be done, so that the first item in the list is
always from the first array, the second item from the second array, and
so on.
Sub::Exporter::Lexical provides an alternate installer for Sub::Exporter.
Installers are documented in Sub::Exporter's documentation; all you need to know
is that by using Sub::Exporter::Lexical's installer, you can import routines
into a lexical scope that will be cleaned up when that scope ends.
Test::Harness is limited to printing out its results. This makes analysis of
the test results difficult for anything but a human. To make it easier for
programs to work with test results, we provide Test::Harness::Straps. Instead
of printing the results, straps provide them as raw data. You can also
configure how the tests are to be run.
nxt-python is a python driver/interface for the Lego Mindstorms NXT robot. The
1.x releases aim to improve on NXT_Python's interface and should be compatible
with scripts which use it while the 2.x releases improve on the API in
backwards-incompatible ways and will not work with NXT_Python scripts.
Embedding tests allows tests to be placed near the code its testing.
This is a nice supplement to the traditional .t files.
It's like XUnit, Perl-style.
Test::Tutorial is just documentation. To actually get anything done you
use pod2test. Read the Test::Inline::Tutorial, really.
Types::Serialiser provides some extra datatypes that are used by common
serialisation formats such as JSON or CBOR. The idea is to have a repository of
simple/small constants and containers that can be shared by different
implementations so they become interoperable between each other.
Magic is Perl way of enhancing objects. This mechanism lets the user add
extra data to any variable and overload syntaxical operations (such as
access, assignment or destruction) that can be applied to it. With this
module, you can add your own magic to any variable without having to
write a single line of XS.
Mixin inheritance is an alternative to the usual multiple-inheritance and
solves the problem of knowing which parent will be called. It also solves a
number of tricky problems like diamond inheritance.
The idea is to solve the same sets of problems which MI solves without the
problems of MI.