If you use the block version, {}, then you don't need a comma. You do need a comma if you use the expression version. If you really like the block version, then just take it as a convenience. Further reading of the doc says,map BLOCK LIST map EXPR,LIST
"{" starts both hash references and blocks, so "map { ..." could be either the start of map BLOCK LIST or map EXPR, LIST. Because perl doesn’t look ahead for the closing "}" it has to take a guess at which its dealing with based what it finds just after the "{". Usually it gets it right, but if it doesn’t it won’t realize something is wrong until it gets to the "}" and encounters the missing (or unexpected) comma.
Hope it's clear now why map {/and this/}, @_; won't even compile.
Open source softwares? Share and enjoy. Make profit from them if you can. Yet, share and enjoy!
In reply to Re: Comma's and blocks
by naikonta
in thread Comma's and blocks
by zer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |