There seems to have been a lot of erroneous information given out in the various replies above. It just so happens that the args are evaluated left-to-right, but since the first arg is a pass-by-reference of $var, it gets modified by the subsequent ++; it's a bit like
$ perl -le'sub f {$var++; print $_[0]} f $var'
1
$