in reply to Re^2: Unusual Closure Behaviour
in thread Unusual Closure Behaviour

This place needs you.

So true.

What happens here? Does this mean that each scratchpad is persistent at its recursion level?

use strict; sub foo; sub foo { return unless $_ [0]; my $x if undef; print ++ $x, " "; foo $_ [0] - 1; } foo 1; print "\n"; foo 2; print "\n"; foo 3; print "\n"; foo 7; print "\n"; foo 11; print "\n"; foo 9; print "\n"; foo 15; print "\n"; __END__ 1 2 1 3 2 1 4 3 2 1 1 1 1 5 4 3 2 2 2 2 1 1 1 1 6 5 4 3 3 3 3 2 2 7 6 5 4 4 4 4 3 3 2 2 1 1 1 1
perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'