Test::Group allows for grouping together related tests in a standard
Test::More-style script. It provides a bunch of maintainability and
scalability advantages to large test suites.
feedback & ok merdely@
* cdecl and cundecl - decode and encode C type declarations
* cobfusc - make a C source file unreadable but compilable
* chilight - highlight C source files
* cunloop - unloop C loops
* yyextract - extract grammar rules from yacc grammar
* yyref - yacc grammar reference program
ok steven@
GOffice is a library of document-centric objects and utilities building
on top of GLib and Gtk+.
- fix cairo for gnucash, asked by todd@
tweaks/ok jasper@, todd@, alek@
This is an expiring LRU cache, using Tie::Cache::LRU. Each entry
in this cache expires after 'EXPIRES' seconds (default 3600).
The cache is in RAM (see Tie::Cache::LRU).
ok merdely@
This is a base class for implementing virtual base classes (what
some people call an abstract class). Kinda kooky. It allows you to
explicitly declare what methods are virtual and that must be
implemented by subclasses. This might seem silly, since your program
will halt and catch fire when an unimplemented virtual method is
hit anyway, but there's some benefits.
The error message is more informative. Instead of the usual "Can't
locate object method" error, you'll get one explaining that a virtual
method was left unimplemented.
Subclass authors can explicitly check to make sure they've implemented
all the necessary virtual methods. When used as part of a regression
test, it will shield against the virtual method requirements changing
out from under the subclass.
Finally, subclass authors can get an explicit list of everything
they're expected to implement.
ok merdely@
Defines a set of symbolic constants with ordered numeric values ala
C enum types. What are they good for? Typical uses would be for giving
mnemonic names to indexes of arrays.
This not only reads easier, but can also be typo-checked at compile
time when run under use strict. That is, if you misspell Days_Fri
as Days_Fry, you'll generate a compile error.
Also capable of creating ordered bitmask constants, allowing the
easy creation of bitmask constants, allowing you to efficiently store
many true/false options within a single integer.
ok merdely@
This class implements an ordered hash-like object. It's a cross
between a Perl hash and a linked list. Use it whenever you want the
speed and structure of a Perl hash, but the orderedness of a list.
ok merdely@
This module provides an interface to concisely yet expressively create
classes Class::Meta. The intent is to provide a simpler, more meaningful
interface for creating Class::Meta classes while preserving the power
and flexibility of Class::Meta.
This module exports a number of functions that are useful for validating
and converting data types. It is intended for use in applications where
data types are more important than they typically are in Perl -- e.g.,
database applications.
IPC::Shareable allows you to tie a variable to shared memory making it
easy to share the contents of that variable with other Perl processes.
Scalars, arrays, and hashes can be tied. The variable being tied may
contain arbitrarily complex data structures - including references to
arrays, hashes of hashes, etc.
ok jasper@