in reply to Re^3: Evaluation Order again.
in thread Evaluation Order again.

Ah, of course. That distinction becomes important so rarely for me that it's easy to forget. So, to remove the referencing, and make it show up "as expected", I just add zero to each item, and I get what I expect:

use strict; use warnings; sub func { print $_, ' ' for @_; print "\n"; $_[2]; } my $i = 3; my $rv = func(0+$i, 0+ ++$i, 0+$i+2);
And now I get my "3 4 6" - and everything makes sense again. See? I knew I did something wrong ;)