----- Original Message -----
From: "Larry Wall" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Saturday, March 06, 2004 10:39 PM
Subject: Re: Magic blocks (was: Compile-time undefined sub detection)
> Oh, I accidentally left NEXT out of my canonical list. We do need to
> have the equivalent to Perl 5's "continue".
>
Will there be a corresponding 'will next' property on variables? If so,
then this could be a very nice way to solve the problem of how to access the
'prior' element in a for loop:
for @array -> $current
{
state $prior will next {$prior := $current} will leave {$prior :=
undef};
...
}
$prior is a state variable so that it retains its value between
iterations of the loop. The 'will next' property binds $prior to $current
just before the loop binds $current to the next element of @array; the
result is that in every iteration of the loop after the first $prior is
bound to the same element of @array that $current was bound to in the
previous iteration. The 'will leave' property ensures that we don't keep a
reference to an element of @array after we leave the loop; it also ensures
that $prior has the correct value of undef() when we start the loop the next
time.
Joe Gottman