| Why not just write ',' instead of '=>'? Is there an actual reason for this other syntax to exist and to be used? It's a trick so it's easier to remember because while both sections look similar, the operators between them are actually doing different things. i.e. => is a fatarrow (comma), while <= is less-than-or-equal. Replacing> with , results in [ $x , $y ]->[ $x <= $y ]; Which is, arguably, less easy to remember. Why does the array have to be explicitly dereferenced? Isn't it obvious from context? Probably because the first set or brackets is an array reference creation and the second is an array reference subscript? There may be rules that need to be followed for the language to be parseable? Why count on the mapping from boolean to int being false = 0, true = 1? Pretty much everything other language that has such a mapping does false = 0, true != 0. Perl's comparison operators return numerical outputs for true/false, as that's how Perl handles true/false. What value would you expect for true, if there isn't a dedicated type? In one line, a vivid reminder of why I find perl so awful Eh, not my preferred syntax either. I do find that it's possible cool though. |