Dan Kogai > Attribute-Util-1.02 > Attribute::Memoize

Download:
Attribute-Util-1.02.tar.gz

Dependencies

Annotate this POD

Related Modules

Attribute::Types
File::Path
Getopt::Attribute
more...
By perlmonks.org

CPAN RT

Open  0
View/Report Bugs
Module Version: 1.01   Source   Latest Release: Attribute-Util-1.07

NAME ^

Attribute::Memoize - A Memoize attribute

SYNOPSIS ^

  use Attribute::Memoize;

  sub fib :Memoize {
          my $n = shift;
          return $n if $n < 2;
          fib($n-1) + fib($n-2);
  }
  $|++;
  print fib($_),"\n" for 1..50;

DESCRIPTION ^

This attribute makes it slightly easier (and modern) to memoize a function by providing an attribute, :Memoize that makes it unnecessary for you to explicitly call Memoize::memoize(). Options can be passed via the attribute per usual (see the Attribute::Handlers manpage for details, and the Memoize manpage for information on memoizing options):

  sub f :Memoize(NORMALIZER => 'main::normalize_f') {
        ...
  }

However, since the call to memoize() is now done in a different package, it is necessary to include the package name in any function names passed as options to the attribute, as shown above.

BUGS ^

None known so far. If you find any bugs or oddities, please do inform the author.

AUTHOR ^

Marcel Grunauer, <marcel@codewerk.com>

Dan Kogai, <dankogai@dan.co.jp>

COPYRIGHT ^

Copyright 2001 Marcel Grunauer. All rights reserved.

Copyright 2006 Dan Kogai. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

perl(1), Attribute::Handlers, Memoize

syntax highlighting: