I think that Damian's proposal assumes that Perl is going
to maintain a global stack, and what is saved is just the
internal state of the function. Then $_, being a global,
will be whatever it is currently in Perl while where you
start in the block will be preserved.