First off, it's "commas", not "comma's".
Why are the commas excluded in some spots and not others?

Because of choices the designers made, either to reduce ambiguity or reduce typing. You always need a comma, except in the cases you noted: map, grep, and print FILEHANDLE.

How does this work with your own prototypes and subroutines?

Your own subroutines need commas between their arguments, with one exception. When using the & prototype in the first position and calling the subroutines without parentheses, you may use for that argument a plain BLOCK, rather than "sub BLOCK" followed by a comma. (Note that the reverse is NOT true; map( sub {$_ + 1}, 1, 2, 3 ) will produce a list of code references instead of (2, 3, 4).)

99% of the time you don't need prototypes anyway.

Which perldoc covers this in depth?

For how to call built-in functions, see perlfunc. For how to write prototypes and subroutines, see perlsub.


In reply to Re: Comma's and blocks by mrpeabody
in thread Comma's and blocks by zer

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.