in reply to When would you choose foreach instead of map?
You're taking @array, changing each value in it, and then assigning it to @array. One of those equals signs is redundant. (If it's not clear why, see below. See below anyway.)@array = map {$_ *= 2} @array;
That is a good way to highlight what the others have already said: if you're making a new array, you'd use map like so:
If you just want to change @array itself, your best fit is foreach (as you used it in your other example), although you can use map in a void context to do the same thing:@a2 = map { $_ * 2 } @array;
map { $_ *= 2 } @array;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: When would you choose foreach instead of map?
by doom (Deacon) on May 21, 2004 at 01:35 UTC |