http://www.perlmonks.org?node_id=422815


in reply to Re^3: Use of the m/.../g idiom in list context (formatting MAC addresses) (use of fat commas)
in thread Use of the m/.../g idiom in list context (formatting MAC addresses)

I also dislike cute uses of fat comma. It was meant to separate a hash key from a hash value. And in Perl6, using it for something other than that is likely to break (as near as I can tell).

I only use fat comma when the thing on the left is a string (which all hash keys must be) and the thing on the right is a scalar (which all hash values must be). If it weren't for the immediate proliferation of cute uses of fat comma, fat comma might have been improved to provide scalar context to it's right so that my %hash= ( foo=>getFoo(), bar=>getBar() ); would no longer be susceptible to getFoo returning an empty list (or more than one item).

But I do sometimes use fat comma when the left-hand side must not be quoted, just like I sometimes use $hash{...} when the key expression must not be quoted. These are a couple of the reasons why I make it a habit to write COMMA() not COMMA if it is a constant (subroutine).

When I see =>, I think "key => value". Some people use cute fat commas to provide extra separation between things. Some people use cute fat commas to show a closer association between two items (like it was intended to be used when listing the key/value pairs for a hash). Some people use cute fat commas to indicate a direction of flow (which can only be done it one direction, of course). I'm surprised these people don't get really annoyed at other people's conflicting uses of fat comma. If the fat comma doesn't mean "key => value", then it is just (usually minor) obfuscation to me, since I don't keep a list of which authors use their cute fat commas which ways; I only track what the purpose of the fat comma was.

- tye        

  • Comment on Re^4: Use of the m/.../g idiom in list context (formatting MAC addresses) (use of fat commas)
  • Select or Download Code