Memoize-Expire-ByInstance Memoize::Expire::ByInstance is intended for object oriented perl coders who have on occasion a need to both Memoize a method so that when invoked on any instance the benefit of memoization can be had, while simultaniously wanting to provide expiration of the memoization with per-instance lifetimes/num-uses granularity. Say for instance you were working on utility classes that utilized a semi-generic web-interface client class, and wanted to reduce the load on the HTTP servers by caching identical queries. For many types of queries, you could stand to use data that is somewhat old; however for some types of queries, you always needed "fresh" data. You have a generic 'query' class, that you use for all the low-level gruntwork of performing the RPC itself. Because the Utility classes could be used in any permutation in a resulting utilities (or other classes), you have know way of assigning a reasonable 'default' timeout for the client class, instead you hope that whomever writes the utility classes will set an appropriate expiration policy, and provide accessors to adjust their defaults on a case-by-case basis. Memoize::Expire::ByInstance allows you to implement for that use-case just as easily as you would for any other Memoization. Simply tie the hash you use for the Memoization Cache to Memoize::Expire::ByInstance, and now every instance can decide for themselves how old is "too" old. This ensure that you never break assumptions globally about the 'freshness' of the memoized methods, while still reaping all the benefits of memoization when caching is appropriate. This module requires Perl 5.6.2 or later. INSTALLATION To install this module, run the following commands: perl Makefile.PL make make test make install SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc Memoize::Expire::ByInstance You can also look for information at: RT, CPAN's request tracker http://rt.cpan.org/NoAuth/Bugs.html?Dist=Memoize-Expire-ByInstance AnnoCPAN, Annotated CPAN documentation http://annocpan.org/dist/Memoize-Expire-ByInstance CPAN Ratings http://cpanratings.perl.org/d/Memoize-Expire-ByInstance Search CPAN http://search.cpan.org/dist/Memoize-Expire-ByInstance/ COPYRIGHT AND LICENCE Copyright (C) 2009 Jamie Beverly This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.