OK, I have the following code:
use strict; my @ar = (1, 2, 3); foreach my $a (@ar) { $a = $a + 1; } print join \", \", @ar;
and the outp
Try
foreach my $a (@_ = @ar)
now modifying $a does not modify @ar. Works for me on v5.20.2