in reply to Re: Assignment changes handle?
in thread Assignment changes handle?

It can be even further reduced to:

my @i; map { my $n = @i[()]; print "n=$n\n"; "z"; } 1 .. 4;

Update: this outputs:

$ perl test n=4 n=z n=z n=z

Interestingly, it does not have the same behavior in non-void context:

my @i; print map { my $n = @i[()]; print "n=$n\n"; "z"; } 1 .. 4;

Update: this outputs:

$ perl test n=4 n=4 n=4 n=4 zzzz