in reply to Why is my array getting changed?
#!/usr/bin/perl -wl use strict; my @a = (1,2,3); print "@a"; foreach (@a) { $_ *= 2; } print "@a"; foreach my $item (@a) { $item *= 2; } print "@a"; __END__ Prints: 1 2 3 2 4 6 4 8 12
Here is the relevant detail from the "Foreach Loops" section of perlsyn:
If any element of LIST is an lvalue, you can modify it by modifying VAR inside the loop.
--
John.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Why is my array getting changed?
by Rhose (Priest) on Aug 26, 2002 at 14:49 UTC |