in reply to Using REDO in Subroutine, need better way?

A block with redo is fine, named or not. It's just a style question - TIMTOWTDI.
while(1) { ... } # why while? 1 never can get false for(;;) { ... } # just for nothing? do { ... } until $cond; # bad practice as per PBP? { ... redo unless $cond } # (fill in your complaint :-) uh-oh. "unless +"!

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}