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

jethro has asked for the wisdom of the Perl Monks concerning the following question:

Just stumbled over this strange distinction:
do {$i++} until ($i==$x);
evaluates the statement before checking the condition, but
$i++ until ($i==$x);
checks the condition first.

I find the second example quite surprising and the opposite of DWIM. And the inconsistency makes it even worse. Ok, postfix loop constructs shouldn't be used according to 'Perl Best Practices' for other reasons anyway. This is just one more reason.

But my restless mind wants to know: Why is that so? Just historical bagagge or is there some hidden justification for this?