A group of Perl modules for parsing XML
A workbench for combinatorial computing, and standard sets of data that
can be used for benchmark tests of competing methods by Donald Knuth.
Also includes demonstration programs and games that make use of the data.
Gerald Pfeifer <gerald@FreeBSD.org>
This module provides a quick, convenient way of bootstrapping a
user-local Perl module library located within the user's home
directory.
It also constructs and prints out for the user the list of environment
variables using the syntax appropriate for the user's current shell
(as specified by the SHELL environment variable), suitable for
directly adding to one's shell configuration file.
match::simple provides a simple match operator |M| that acts like a sane subset
of the (as of Perl 5.18) deprecated smart match operator. Unlike smart match,
the behaviour of the match is determined entirely by the operand on the right
hand side.
mem is a trivial pragma to either allow defining the module it is included from
as being defined so that later classes or packages in the same file can use the
package to pull in a reference to it, or to be able to call its import routine
from a different package in the same file.
With parameter assignments or other actions, it forces those assignments to be
done, immediately, at compile time instead of later at run time. It can be use,
for example, with Exporter, to export typed-sub's among other usages.
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.
Often during unit testing, you may find the need to use mocked libraries
to test edge cases, or prevent unit tests from using slow or external
code.
Perl's multidimensional array emulation stems from the days before the language
had references, but these days it mostly serves to bite you when you typo a hash
slice by using the $ sigil instead of @.
This module lexically makes using multidimensional array emulation a fatal error
at compile time.
When you import a function into a Perl package, it will naturally also
be available as a method.
The namespace::autoclean pragma will remove all imported symbols at the
end of the current package's compile cycle. Functions called in the
package itself will still be bound by their name, but they won't show up
as methods on your class or instances.
This module is very similar to namespace::clean, except it will clean
all imported functions, no matter if you imported them before or after
you used the pragma. It will also not touch anything that looks like a
method, according to Class::MOP::Class::get_method_list.
When you define a function, or import one, into a Perl package, it will
naturally also be available as a method. This does not per se cause
problems, but it can complicate subclassing and, for example, plugin
classes that are included via multiple inheritance by loading them as
base classes.
The "namespace::clean" pragma will remove all previously declared or
imported symbols at the end of the current package's compile cycle.
Functions called in the package itself will still be bound by their
name, but they won't show up as methods on your class or instances.