<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