Tie::CPHash is a Perl module implementing a case preserving but case
insensitive hash table.
From README:
This module implements a least recently used (LRU) cache in memory
through a tie interface. Any time data is stored in the tied hash, that
key/value pair has an entry time associated with it, and as the cache
fills up, those members of the cache that are the oldest are removed to
make room for new entries.
So, the cache only "remembers" the last written entries, up to the size
of the cache. This can be especially useful if you access great amounts
of data, but only access a minority of the data a majority of the time.
The implementation is a hash, for quick lookups, overlaying a doubly
linked list for quick insertion and deletion. On a WinNT PII 300, writes
to the hash were done at a rate 3100 per second, and reads from the hash
at 6300 per second. Work has been done to optimize refreshing cache
entries that are frequently read from, code like $cache{entry}, which
moves the entry to the end of the linked list internally.
Tie::Function simplifies wrapping functions in tied hash syntax so they can be
interpolated in double-quoted literals without messy intermediate variables.
Tie::IxHash is a perl module implementing ordered in-memory associative arrays.
Perl module which 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.
This modules causes any warnings produced by test scripts to be
captured and stored. It automatically adds an extra test that will run
when your script ends to check that there were no warnings. If there
were any warnings, the test will give a "not ok" and diagnostics of
where, when and what the warning was, including a stack trace of what
was going on when the it occurred.
This module provides the ability to use references as hash keys if you
first "tie" the hash variable to this module. Normally, only the keys
of the tied hash itself are preserved as references; to use references
as keys in hashes-of-hashes, use Tie::RefHash::Nestable, included as
part of Tie::RefHash.
It is implemented using the standard perl TIEHASH interface. Please
see the "tie" entry in perlfunc(1) and perltie(1) for more information.
The Nestable version works by looking for hash references being stored
and converting them to tied hashes so that they too can have references
as keys. This will happen without warning whenever you store a refer-
ence to one of your own hashes in the tied hash.
Creates a temporary instance of OpenLDAP's slapd daemon to run tests against.
Provides the opposite of the 'tied' function. Say you have %hash that
is tied to $object. Then, it is relatively simple to get $object from
%hash simply by saying
$object = tied %hash;
But, how does one go the other way? Simple, with Tie::Restore
tie %hash, 'Tie::Restore', $object;
Works for any kind of tie. (scalar, array, hash, filehandle)
Test::Output provides a simple interface for testing output sent to
STDOUT or STDERR. A number of different utilities are included to try
and be as flexible as possible to the tester.
Originally this module was designed not to have external requirements,
however, the features provided by Sub::Exporter over what Exporter
provides is just to great to pass up.
Test::Output ties STDOUT and STDERR using Test::Output::Tie.