http://qs1969.pair.com?node_id=104220


in reply to Fibonacci Generator

All you need in order to generate the next Fibonacci number is the last two; why are you storing all of them? (Also, why not use strict?)

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.

The modification to use Math::BigInt would be easy but obfuscatory for this example.

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" }
Save memory, easier to read, etc.