Just for grins, I was trying to see what my local perl would produce. To my surprise, my answer was different! But then I tried a few more things and realized I had misstyped the original problem.
But since I found this interesting, I thought I'd share. (Note, this behavior might also show up in the off-site link from the original poster in my earlier post in this node, but that's old and off-site.)
$ perl -e 'my $m = 20; print $m++ + $m++, "\n"'
$ perl -e 'my $m = 20; print $m++ + ++$m, "\n"'
$ perl -e 'my $m = 20; print ++$m + $m++, "\n"'
$ perl -e 'my $m = 20; print ++$m + ++$m, "\n"'
s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; =
qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)