Garrett Goebel wrote:
> However it still doesn't answer how you are able to:
>
> return $true and next;
> return $false and next;
> return $true and last;
> return $false and last;
> return $true and redo;
> return $false and redo;
What if the semantics of C<return> are changed so that the actual
sub exit does occur until the end of the currently executing statement?
I.e. C<return(X)> would place X on the return stack and set a special
flag meaning "exit the sub at your earliest convenience" which would
be defined as not sooner than the end of the current expression.
--
John Porter
We're building the house of the future together.