In terms of aesthetics, my feeling is "each to his own". I used to use map in void context. I have no problem reading code like that. I no longer use it, but for completely different reasons (see below).
The performance hit was resolved in 5.8.1 (see "perl581delta: Miscellaneous Enhancements"). If you're coding to 5.8.0 or earlier, you should avoid map in void context; otherwise, the performance issue is moot.
Quite a few years ago, I benchmarked map against for. I was surprised at how much faster for was. That's the reason I would now choose
for (keys %{ $weapons_ref }) { ... }
over
map { ... } keys %{ $weapons_ref };
See Benchmark and run your own tests if you want.
— Ken
In reply to Re^4: using ref to hash of hash effectively
by kcott
in thread using ref to hash of hash effectively
by kalee
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |