NAME
Sub::Contract::Cache - A data cache
SYNOPSIS
my $cache = new Sub::Contract::Cache(max_size => 10000, namespace => 'foo');
if ($cache->has($key)) {
    return $cache->get($key);
} else {
    my $value = foo(@args);
    $cache->set($key,$value);
    return $value;
}
DESCRIPTION
A Sub::Contract::Cache is just a data cache used by contracts to memoize subroutine's results. Sub::Contract has its own cache implementation for efficiency reasons.
API
my $cache = new(max_size => $max_size, namespace => $name)- 
Return an empty cache object that may contain up to
$max_sizeelements and caches results from the subroutine$name. $contract->clear([size => $max_size])- 
Empty this cache of all its elements.
 $contract->set($key,$ref_result)- 
Add a cache entry for the key
$keywith result$result. $contract->has($key)- 
Return true if the cache contains a result for this key, false if not.
 $contract->get($key)- 
Return the cached result associated with key
$key. You must callhasfirst to ensure that there really is a cached result for this key.geton an unknown key will return undef and not fail. 
SEE ALSO
See 'Sub::Contract'.
VERSION
$Id: Cache.pm,v 1.3 2009/06/16 12:23:58 erwan_lemonnier Exp $
AUTHOR
Erwan Lemonnier <erwan@cpan.org>
LICENSE
See Sub::Contract.