Mark Jason Dominus (陶敏修) > Memoize-1.01 > Memoize::Saves

Download:
Memoize-1.01.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  14
Open  4
View/Report Bugs
Module Version: 0.65   Source  

NAME ^

Memoize::Saves - Plug-in module to specify which return values should be memoized

SYNOPSIS ^

    use Memoize;

    memoize 'function',
      SCALAR_CACHE => [TIE, Memoize::Saves, 
                       CACHE => [ "word1", "word2" ],
                       DUMP  => [ "word3", "word4" ],
                       REGEX => "Regular Expression",
                       HASH  => $cache_hashref,
                      ],

DESCRIPTION ^

Memoize::Saves is a plug-in module for Memoize. It allows the user to specify which values should be cached or which should be dumped. Please read the manual for Memoize for background information.

Use the CACHE option to specify a list of return values which should be memoized. All other values will need to be recomputed each time.

Use the DUMP option to specify a list of return values which should not be memoized. Only these values will need to be recomputed each time.

Use the REGEX option to specify a Regular Expression which must match for the return value to be saved. You can supply either a plain text string or a compiled regular expression using qr//. Obviously the second method is prefered.

Specifying multiple options will result in the least common denominator being saved.

You can use the HASH option to string multiple Memoize Plug-ins together:

   tie my %disk_hash => 'GDBM_File', $filename, O_RDWR|O_CREAT, 0666;
   tie my %expiring_cache => 'Memoize::Expire', 
              LIFETIME => 5, HASH => \%disk_cache;
   tie my %cache => 'Memoize::Saves', 
              REGEX => qr/my/, HASH => \%expiring_cache;

   memoize ('printme', SCALAR_CACHE => [HASH => \%cache]);

CAVEATS ^

This module is experimental, and may contain bugs. Please report bugs to mjd-perl-memoize+@plover.com.

If you are going to use Memoize::Saves with Memoize::Expire it is important to use it in that order. Memoize::Expire changes the return value to include expire information and it may no longer match your CACHE, DUMP, or REGEX.

AUTHOR ^

Joshua Gerth <gerth@teleport.com>

SEE ALSO ^

perl(1)

Memoize

syntax highlighting: