#!/usr/local/bin/perl # Jaime Prilusky, 2009 my $num = $ARGV[0]; print "position $num: ",fibo($num),"\n"; sub fibo { my($n) = @_; return 0 if ($n == 0); return 0 if ($n == 1); return 1 if ($n == 2); $f{$n-1} = fibo($n-1) if (!$f{$n-1}); $f{$n-2} = fibo($n-2) if (!$f{$n-2}); return $f{$n-1} + $f{$n-2}; }