Dir::Project provides a way to locate a source-controlled directory
(CVS, Subversion, Perforce, etc) using only the current working
directory (cd). This prevents users from having to set other
environment variables when they switch between areas, and allows
scripts and such inside the directory to be executed without changing
the user's PATH.
Derived from MultiTail, this perl library makes it easy to tail a dynamic
list of files and match/except lines using full regular expressions and
even maintains their state locally.
File::Tail::Multi will tail multiple files and return the records read
to a Data Structure. The Data Structure can be processed by
File::Tail::Multi functions.
Forest is intended to be a replacement for the Tree::Simple family of
modules, and fixes many of the issues that have always bothered me about
them. It is by no means a complete replacement yet, but should eventually
grow to become that.
Git::Version::Compare contains a selection of subroutines that make dealing with
Git-related things (like versions) a little bit easier.
The strings to compare can be version numbers, tags from git.git or the output
of git version or git describe.
These routines collect the knowledge about Git versions that was accumulated
while developing Git::Repository.
IPC::MM provides an interface to Ralf Engelschall's mm library, allowing
memory to be shared between multiple processes in a relatively
convenient way.
IPC::MM provides methods to create and destroy shared memory segments and
to access data structures within those shared memory segments, as well
as miscellaneous methods. Additionally, it provides a tied interface
for scalars and hashes.
Log::Any::IfLOG will load Log::Any only when LOG environment variable is true.
Otherwise, the module is not loaded and if user imports $log, a dumb object will
be returned instead that will accept any method but return false.
This is a quick-hack solution to avoid the cost of loading Log::Any under
"normal condition" (when LOG is not set to true).
Add Mixin::Event::Dispatch in as a parent to your class, and it'll provide some
methods for defining event handlers ("subscribe_to_event" or
"add_handler_for_event") and calling them ("invoke_event").
Note that handlers should return 0 for a one-off handler, and 1 if it should be
called again on the next event.
Ever find yourself repeatedly specifying writers and builders, because there's
no good shortcut to specifying them? Sometimes you want an attribute to have
a read-only public interface, but a private writer. And wouldn't it be easier
to just say "builder => 1" and have the attribute construct the canonical
"_build_$name" builder name for you?
Allegro is a cross-platform library intended for use in computer games and
other types of multimedia programming.
A wide range of extension packages and add-on modules are also available, which
can be found in the "Library Extensions" section of the Allegro website.
Allegro is a cross-platform library intended for use in computer games and
other types of multimedia programming.
A wide range of extension packages and add-on modules are also available, which
can be found in the "Library Extensions" section of the Allegro website.