The PerlIO layer symlink allows you to create a symbolic link by
writing to the file handle.
You need to write C"link $name" to the file handle. If the format
does not match, close will fail with EINVAL.
Currently only writing is supported.
Moose classes (and some other classes) distinguish between an attribute being
unset and the attribute being set to undef.
To ensure that the Person constructor does not try to set a name or age at all
when they are undefined, ugly looking code is often used. A slightly more
elegant solution is the maybe function.
The CRC32 module calculates CRC sums of 32 bit lengths.
It generates the same CRC values as ZMODEM, PKZIP, PIC-
CHECK and many others.
Despite its name, this module is able to compute the
checksum of strings as well as of files.
Sub::Override allows the programmer to simply name the sub to replace
and to supply a sub to replace it with.
my $override = Sub::Override->new('Some::sub', sub {'new data'});
# which is equivalent to:
my $override = Sub::Override->new;
$override->replace('Some::sub', sub { 'new data' });
Test::Command intends to bridge the gap between the well tested functions and
objects you choose and their usage in your programs. By examining the exit
status, terminating signal, STDOUT and STDERR of your program you can determine
if it is behaving as expected.
This includes testing the various combinations and permutations of options and
arguments as well as the interactions between the various functions and objects
that make up your program.
The various test functions below can accept either a command string or an array
reference for the first argument. If the command is expressed as a string it is
passed to system as is. If the command is expressed as an array reference it is
dereferenced and passed to system as a list.
The final argument for the test functions, $name, is optional. By default the
$name is a concatenation of the test function name, the command string and the
expected value. This construction is generally sufficient for identifying a
failing test, but you may always specify your own $name if desired.
Any of the test functions can be used as instance methods on a Test::Command
object. This is done by dropping the initial $cmd argument and instead using
arrow notation.
relative - Load modules with relative names
This module allows you to load modules using only parts of their name,
relatively to the current module or to a given module. Module names are by
default searched below the current module, but can be searched upper in the
hierarchy using the ..:: syntax.
Allows you to both load one or more modules, while setting up
inheritance from those modules at the same time.
If a module in the import list is followed by something that
doesn't look like a legal module name,
the VERSION method will be called with it as an argument.
This module activates community provided syntax extensions to Perl. You pass it
a feature name, and optionally a scalar with arguments, and the dispatching
system will load and install the extension in your package.
The import arguments are parsed with Data::OptList(3). There are no standardised
options. Please consult the documentation for the specific syntax feature to
find out about possible configuration options.
liblognorm shall help to make sense out of syslog data, or, actually, any
event data that is present in text form.
In short words, one will be able to throw arbitrary log message to liblognorm,
one at a time, and for each message it will output well-defined name-value
pairs and a set of tags describing the message.
py-BytecodeAssembler is a simple bytecode assembler module that handles
most low-level bytecode generation details like jump offsets, stack size
tracking, line number table generation, constant and variable name index
tracking, etc. That way, you can focus your attention on the desired
semantics of your bytecode instead of on these mechanical issues.