use strict; use warnings; use Memoize; memoize('fib'); foreach my $x (0..$ARGV[0]) { print fib($x); } sub fib { my ($n, $a, $b) = (shift, 0, 1); ($a, $b) = ($b, $a + $b) while $n-- > 0; $a; }