Foreach Loops
If any element of LIST is an lvalue, you can modify it by modifying VAR inside the loop. Conversely, if any element of LIST is NOT an lvalue, any attempt to modify that element will fail. In other words, the "foreach" loop index variable is an implicit alias for each item in the list that you're looping over.
You can work around this by just copying the loop variable into a normal scalar variable:
foreach $loop_ralias (@{$refarrayptr}) { my $ralias = $loop_ralias; # ... }
In reply to Re: assignment to scalar changing array content
by sgifford
in thread assignment to scalar changing array content
by colemannist
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |