This module, when inherited by a package, allows that package's
class to define attribute handler subroutines for specific
attributes. Variables and subroutines subsequently defined in
that package, or in packages derived from that package may be
given attributes with the same names as the attribute handler
subroutines, which will then be called in one of the
compilation phases (i.e. in a BEGIN, CHECK, INIT, or END block).
Stack traces are hard to read when the messages wrap, because it's hard to tell
when one message ends and the next message starts. Carp::Always::Color just
colors the first line of each stacktrace, based on whether it's a warning or an
error. If messages are being sent to a terminal, it colors them with terminal
escape codes, otherwise it colors them with HTML (ideas for more intelligent
behavior here are welcome).
The Autodist is a source distribution management system that allows
powerful mechanisms to define what is included in and excluded from a
distribution, and what license the distribution is released under. It is
also used to create the actual distribution source packages. Autodist
allows distribution management in file, directory and file content
level. Autodist is especially targeted for large software projects, and
projects where multiple distributions are created from one source tree.
from the README:
This module solves the problem of having to write a bazillion get/set
methods that are all the same. The argument to 'use' is a hash whose keys
are the names of types of generic methods generated by MethodMaker and
whose values tell method maker what methods to make. (More precisely, the
keys are the names of MethodMaker methods (methods that write methods) and
the values are the arguments to those methods.
Class::Mixin provides a way to mix methods from one class into another,
such that the target class can use both its methods as well as those of
the source class.
The primary advantage is that the behavior of a class can be modified
to effectively be another class without changing any of the calling
code -- just requires using the new class that mixes into the original.
diStorm is a binary stream disassembler of x86 instructions. It can operate
in 16, 32, and 64 bit modes, and supports FPU, MMX, SSE, SSE2, SSE3, SSE4,
3DNow! (with extensions), x86-64, VMX, AMD SVM, and AVX instruction sets.
diStorm was written to decode every instruction quickly and accurately, with
robust handling of valid and unused prefixes. The output is a special structure
that can describe any x86 instruction, and later be formatted into text for
display.
This module allows you to read configuration data written in a
human-readable and easily-editable text format and access it as
a perl data structure. It also allows you to write configuration
data from perl back to this format.
The data format allows key/value pairs, comments, escaping of
unprintable or problematic characters, sensible whitespace
handling, support for Unicode data, nested sections, or blocks,
of configuration data.
This is an abstract base class for objects backed by a socket which
provides the basic framework for event-driven asynchronous IO,
designed to be fast. Danga::Socket is both a base class for objects,
and an event loop.
Callers subclass Danga::Socket. Danga::Socket's constructor registers
itself with the Danga::Socket event loop, and invokes callbacks on the
object for readability, writability, errors, and other conditions.
This little package serves to access the symbol table of perl.
Devel::Symdump->rnew(@packages)
returns a symbol table object for all subtrees below @packages.
Nested Modules are analyzed recursively. If no package is given as
argument, it defaults to main. That means to get the whole symbol
table, just do a rnew without arguments.
Devel::Symdump->new(@packages)
does not go into recursion and only analyzes the packages that are
given as arguments.
Provides a strace/truss-like runtime call monitor for Perl applications.
Note that, while strace/truss only dumps system calls, Devel::STrace
dumps all calls to Perl subs on the application's stack. Also note that
Devel::STrace cannot trace non-Perl calls (e.g., calls inside XS/C
modules), so an additional external strace/truss monitor may be needed
to fully diagnose a misbehaving Perl script.