On Fri, Apr 16, 2004 at 09:16:15PM +0200, Juerd wrote: > However, I could be guessing badly. It could be that someone who says > Perl 6 should not have a third syntax because there are already two > really has thought about it. We have many ways of saying "foo() if not > $bar" in Perl 5 and I use most of them. I like that in Perl, and hope > that in Perl 6 there will still be more than one way to do it.
Three variations of syntax that are used in the same syntactical context for slightly varying meanings suggests that at least one of them is wrong. Of the many variotions of "foo() if not $bar", there are block level (if-statement), statement level (statement modifiers) and expression level ( "||" and "or"; perhaps you can argue that "? :" is also a variant to the same extent that an if statement is). However, the set of characters following %foo to denote the hash index are all happening in the same sort of expression level context, and three variations seems like too many. That said, in perl5 I use the bareword hash subscript *very* often, and having to quote them would be a major regression to perl3. I far less often use a function call as a hash subscript (at least an order of magnitude less often, maybe two). --