I was thinking of two things: when "()" is used to indicate you want or have an empty list, and then more for reading source code, where parens often indicate to the reader that he is looking at a list. The parens in foreach(), my($x,$y,$z)=@_, etc. Or e.g. in the case of %hash=(x=>"a",y="b") the parens indicate a list of key/value pairs. Or to put it differently, they indicate it's not an array and not a hash (and not a scalar).