<snip>

=head1 DESCRIPTION

The C<{}> in C<eval{}> and C<do{}> do not define blocks.  This is a
problem because C<do {} while> is the only way to get a bottom-testing
"loop".  This is not a real loop because the statement modifier version
of C<while> modifies the C<do> statement, not the non-block of code
in the C<{}>.  Thus C<last>, C<next>, and C<redo> do not work on a 
C<do {} while>.

However, they should.  Just because you want to test the loop at the
bottom doesn't mean that don't want to break out of the loop early.
So a modified C<do{}> should count as a block.

I've used C<while>, but the same goes for C<until>.

</snip>

Would simple do { } blocks then also be cantidates for becoming Code Blocks?

ie: 

do { next if &somthing  }

which currently give us: 
        Can't "next" outside a block

-Corwin

Reply via email to