Perl evaluation order is as follows
++$n is lvalued despite what the the compiler saysDo not rely on all this staying the same in future versions
$n = 1; print $n / ++$n;
$n$n, incrementing
$n to 2 at the same time$n,$n converted to rvalues 2,22/2 evaluated to 1$n = 1; print $n / $n++;
$n1, incrementing
$n to 2 at the same time$n converted to rvalue 22/1 evaluated to 2