http://qs321.pair.com?node_id=618828


in reply to Re^3: removing the goto
in thread removing the goto

The point of redo is that it does not advance the iterator.
The redo command restarts the loop block without evaluating the conditional again.
my $redid = 0; my @list = (1..5); xyz : for (@list) { print; redo if $_ == 3 && ! $redid++; } # Output: 123345