Class::StateMachine allows to define methods that are dispatched
depending on an internal state property via the OnState attribute.
Most programmers who use Perl's object-oriented features construct their
objects by blessing a hash. But, in doing so, they undermine the
robustness of the OO approach. Hash-based objects are unencapsulated:
their entries are open for the world to access and modify.
Objects without effective encapsulation are vulnerable. Instead of
politely respecting their public interface, some clever client coder
inevitably will realize that it's marginally faster to interact directly
with the underlying implementation, pulling out attribute values
directly from the hash of an object.
Class::Tangram is a common base class originally intended for use with
Tangram objects, that gives you free constructors, access methods,
update methods, and a destructor that should help in breaking circular
references for you. Type checking is achieved by parsing the Tangram
schema for the object, which is contained within the object class in an
exported variable $schema.
This module implements a minimal lightweight exception object. It is meant
to be a compromise between more basic solutions like Carp which can only
print information and cannot handle exception objects, and more complex
solutions like Exception::Class which can be used to define complex inline
exceptions and has a number of module dependencies.
Class::Trigger is a mixin class to add / call triggers (or hooks) that
get called at some points you specify.
Unloads the given class by clearing out its symbol table and removing
it from %INC.
SYNOPSIS
use Class::Unload;
use Class::Inspector;
use Some::Class;
Class::Unload->unload( 'Some::Class' );
Class::Inspector->loaded( 'Some::Class' ); # Returns false
require Some::Class; # Reloads the class
Lightweight workflow system, let you build a state machine, with
transitions between states.
Code::Perl allows you to build chunks of Perl code as a tree and then when
you're finished building, the tree can output the Perl code. This is
useful if you have built your own mini-language and you want to generate
Perl from it. Rather than generating the Perl at parse time and having to
worry about quoting, escaping, parentheses etc, you can just build a tree
using Code::Perl and then dump out the correct Perl at the end.
CommitBit is a tool for managing commit access to software
projects. It also provides for a "code.yourorganization.org"
site with links to your wiki, mailing lists, bug tracking
and so on.
Lexical Analyzer for Perl5.