in reply to do while loops
do{ ... } while $foo; isn't a loop, it's a block with a postfixed while, so you need to label it to re-do it.
for(;;) loops are ick... they tend to lead to unneeded subscripting and other pesky things
for my $x (1..4) is far less intent-obfuscated-by-code looking (as far as i see it anyway)
wait, is that C?
@_=qw; ask f00li5h to appear and remain for a moment of pretend better than a lifetime;;s;;@_[map hex,split'',B204316D8C2A4516DE];;y/05/os/&print;