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.
Capture::Tiny provides a simple, portable way to capture anything sent to
STDOUT or STDERR, regardless of whether it comes from Perl, from XS code or
from an external program. Optionally, output can be teed so that it is captured
while being passed through to the original handles.
This module collection manages coroutines. Coroutines are similar to
threads but don't run in parallel.
In this module, coroutines are defined as "callchain + lexical variables
+ @_ + $_ + $@ + $^W + C stack), that is, a coroutine has its own
callchain, its own set of lexicals and its own set of perl's most
important global variables.
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::CodeStyler is an object oriented API to be used by code-generators
in producing formatted code (Perl, C, other). The produced code file can
also be syntax checked, displayed with line numbers, executed, and eval'd.
Code can be inserted anywhere in the generated program using a system of
bookmarks and jumps.
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.
Cdecl composes compilable C declarations and typecasts from descriptive
English phrases, and can also explain a complicated typecast or declaration.
It handles ANSI C, C++, pre-ANSI C, and K&R C, and has TAB completion of
keywords and line editing and history (provided by the GNU readline library).