DB<17> sub tst { say "@_" } DB<18> $i=0;tst $i,$i,++$i # last increment operates on first two aliases 1 1 1 DB<19> $i=0;tst $i,$i,$i++ # again, increment returns value at evaluation time 1 1 0 DB<20> $i=0;tst $i++,$i,$i++ # increments return value, but influence alias in the middle 0 2 1 #### $i = $i ++; print ++ $i + $i ++; #### >perl -wE "$i=1; say for $i..$i++" # 2 .. 1 (first is alias, postinc returns 1 ) >perl -wE "$i=1; say for $i..++$i" # 2 .. 2 (first is alias, preinc returns 2 ) 2 ...