Though it's nice to show different ways to do it, I feel obliged to point out
that many folks disapprove of using map in void context.
Though map in void context no longer suffers the huge performance penalty it once
did, some still consider it poor style
(see, for example, the performance-related discussion in this old thread).
I personally applaud the simple stylistic advice summary given in
Effective Perl Programming in the item
"Use foreach, map and grep as appropriate", namely:
- Use foreach to iterate read-only over each element of a list
- Use map to create a list based on the contents of another list
- Use foreach to modify elements of a list
- Use grep to select elements in a list
because I find the code clearer and easier to maintain if everyone in my team follows those four simple rules.
Update: I like BillKSmith's extra rule:
- No map or grep block should produce any side effects
Note that Perl::Critic provides a ProhibitVoidMap
policy to allow the code police to prohibit using map in void context.
References Added Later
See Also
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.