note
ariels
All you need in order to generate the next [Fibonacci number] is the last two; why are you storing <em>all</em> of them? (Also, why not use [strict]?)
<p>
Here's one way; I presented something similar in [Fibonacci numbers with lvalues]. I give this one as I think it presents an interesting reminder of how "parallel assignment" is useful.
<p>
The modification to use [Math::BigInt] would be easy but obfuscatory for this example.
<blockquote><code>
my ($a,$b)=(1,2); # Start sequence at 1,2 like in code
print "$a\n$b\n";
for(1..$n-2) {
($a,$b) = ($b,$a+$b);
print "$b\n"
}
</code></blockquote>
Save memory, easier to read, etc.
103891
103891