App::Trace provides debug/tracing support for perl programs and
modules.
The basic concept is that you put a special call at the beginning and
end of each subroutine/method, and when tracing is enabled, you can
see the flow of your program.
Bread::Board is an inversion of control framework with a focus on dependency
injection and lifecycle management. It's goal is to help you write more
decoupled objects and components by removing the need for you to manually wire
those objects/components together.
This module was mainly written for Net::XMPP2, Net::IRC3 and BS to provide a
consistent API for registering and emitting events. Even though I originally
wrote it for those modules I released it separately in case anyone may find this
module useful.
The functions in this module implement or assist the writing of
programs, or parts of them, in Continuation Passing Style (CPS).
Briefly, CPS is a style of writing code where the normal call/return
mechanism is replaced by explicit "continuations", values passed in
to functions which they should invoke, to implement return behaviour.
The Perl Cache package provides Cache::Cache, a generic interface for
creating persistent data stores. This interface is implemented by the
Cache::MemoryCache, Cache::SharedMemoryCache, Cache::FileCache,
Cache::SizeAwareFileCache, Cache::SizeAwareMemoryCache, and
Cache::SizeAwareSharedMemoryCache classes. This work replaces
File::Cache and IPC::Cache.
-Anton
<tobez@FreeBSD.org>
This module is used by Schmorp's modules during configuration stage
to test the installed perl for compatibility with his modules.
It's not, at this stage, meant as a tool for other module authors,
although in principle nothing prevents them from subscribing to the
same ideas.
Normally, if you try to call a method that there's no handler for, you
get an error:
Can't locate object method "flork" via package "X".
But for classes that inherit from Class::BlackHole, unhandled methods
become just no-operations.
Class::Constant allows you declaratively created so-called "constant
classes". These are very much like enumerated types (as close as a
typeless language like Perl can get, at least).
The classes generated by this module are modeled closely after Java's
"typesafe enumeration" pattern, but with some added spice to make them
more useful to Perl programs.
Curses is the interface between Perl and your system's curses(3) library.
For descriptions on the usage of a given function, variable, or constant,
consult your system's documentation, as such information invariably varies
(:-) between different curses(3) libraries and operating systems. This
document describes the interface itself, and assumes that you already know
how your system's curses(3) library works.
The Class::Contract module implements strong encapsulation, static
inheritance, and design-by-contract condition checking for
object-oriented Perl. The module provides a declarative syntax for
attribute, method, constructor, and destructor definitions at both the
object and class level. Pre-conditions, post-conditions, and class
invariants are also fully supported.