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.

Reply via email to