On Wed, Jul 12, 2006 at 08:40:53AM -0400, Aaron Sherman wrote:
: Smylers wrote:
: >[EMAIL PROTECTED] commits:
: >
: >  
: >>New Revision: 10077
: >>Modified: doc/trunk/design/syn/S02.pod
: 
>>==============================================================================
: >> 
: >>-    foo.bar                # foo().bar     -- postfix prevents args
: >>+    foo.bar                # foo().bar     -- illegal postfix, must use 
: >>foo().bar
: >>     foo .bar               # foo($_.bar)   -- no postfix starts with 
: >>     whitespace
: >>    
: >
: >I don't think it makes much sense to start the comments with an
: >alternate form for the expressions now denoted as illegal -- "here's
: >some other syntax which this used to be the same as but it no longer is"
: >probably only confuses the casual reader.
: >  
: 
: On a side note, does that apply only to expressions that start with an 
: identifier, or does that mean that:
: 
:    $socket.accept.getlines
: 
: will have to be:
: 
:    $socket.accept().getlines
: 
: ?

No, this is only list operators, not methods.  So

    $socket.accept.getlines

is fine, but

    foo.accept.getlines

is not, unless foo is predeclared 0-ary.

But I am tempted to extend it to keywords like "else" and "sub" as
well, because any foo{} confusion is going to train people not to
think about ...{} as a subscript when they should think about it
whenever there's a lack of whitespace.  It would be nice if :foo{}
were the only exception to that.

For similar reasons, I'm also tempted to say that if() is always a
function call, because it looks like one.

Larry

Reply via email to