10 - Memoize Trades space for time by caching return values If you call a sub again with the same arguments, perl uses the cached result An extreme example: # Compute Fibonacci numbers sub fib { my $n = shift; return $n if $n < 2; fib($n-1) + fib($n-2); } use Memoize; memoize('fib');