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: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |