in reply to backwards if and while looping
Some other alternatives not yet mentioned:
while (not $error and $a < $b) { $a++; } [download]
and
do { while ($a < $b) { $a++; } } if (not $error); [download]
do { $a++ while ($a < $b); } if (not $error); [download]