my @vals = (1, 1); . . . sub fibo { my $num = (shift)-1; while ($#vals < $num) { push @vals, $vals[-1] + $vals[-2]; } return $vals[$num]; }