On Mon, Mar 15, 2004 at 07:54:09PM -0700, Luke Palmer wrote:
Larry Wall writes:
And basically because I decided :foo('bar') is too ugly for something that will get used as often as switches are on the unix command line. The %hash syntax is just a fallout of trying to be consistent with the pair notation. Once people start seeing :foo«bar» all over, they won't find %hash«bar» surprising at all, and will appreciate the self-documenting literalness of argument.
Except the six extra keystrokes involved in typing them. Yeah, I know, I could reduce that, but Perl's already used up the rest of the keyboard! :-)
It's really the visual disambiguation that convinces me. It's extra keystrokes for me too, y'know, and my finger joints complain to me every day. I mostly just ignore 'em, but they do make a fearful crackling most of the time... But my eyes are bad too, so I have to cater to them too...
But really, it's my brain that's my weakest organ, and I can't fix that, so I figure I'll just have to feature it.
I'm just catching up, and really rather late to the party, but I just though perhaps worth pointing out that a very simple solution to the {call()} vs. {bareword} ambiguity, the {"string literal"}, is indeed fewer keystrokes and less surprise (at least for a Perl 5 programmer) and less context dependence than «»-is-a-subscript-now-too.
Ba-a-ah,
Gordon Henriksen [EMAIL PROTECTED]