> @@ -260,6 +260,11 @@ > @evens = ($_ * 2 if .odd for 0..100); > > Loop modifiers C<next>, C<last>, and C<redo> also work as in Perl5. > +However, the labelled forms use method call syntax: C<LABEL.next>, etc. > +The C<.next> and C<.last> methods take an optional argument giving > +the final value of that loop iteration. So the old C<next LINE> > +syntax is still allowed but is really short for C<next LINE:> using > +indirect object syntax.
So the only way for next, last, or break to return a value is to use a LABEL. > @@ -667,23 +673,33 @@ > explicitly or implicitly), that parameter can function as the topic > of any C<when> statements within the loop. > > -You can explicitly break out of a C<when> block (and its surrounding > topicalizer > -block) early using the C<break> verb. More precisely, it leaves the > -innermost block outside the C<when> that uses C<$_> as one of its formal > -parameters, either explicitly or implicitly. > - > -You can explicitly break out > -of a C<when> block and go to the next statement by using C<continue>. > -(Note that, unlike C's idea of falling through, subsequent C<when> > -conditions are evaluated. To jump into the next C<when> block you > -must use a C<goto>.) > +You can explicitly break out of a C<when> block (and its surrounding > +topicalizer block) early using the C<break> verb. More precisely, > +it leaves the innermost block outside the C<when> that uses C<$_> > +as one of its formal parameters, either explicitly or implicitly. > +It does the essentially by simply going to the end of the block and s[It does the essentially by simply going] = "It does this essentially by going"; -- Jonathan "Dataweaver" Lang