On Thu, Aug 04, 2005 at 09:29:21PM +0400, Andrew Shitov wrote: : in fact, that is exactly : : (print.getArgument(3) * 3); the same as above. : : so why not 'print($x)' == 'print ($x)' ;-)
Because most people's expectations diverge from yours, actually, and we got tired of answering the FAQ. On top of which, we think it's probably easier to retrain you than the typical newbie. :-) Plus we got rid of Perl-5's no-op unary +, so instead we're using whitespace to force it to be a list operator. But the overriding reason is that we're trying to be consistent about using whitespace to distinguish postfix operators from binary operators or terms when it's ambiguous. We also consisently allow dot to force it the other way even in the presence of whitespace. If you were to add a ++ binary operator, it would be distinguished from postfix ++ by whitespace. But .++ would be the postfix anyway. Larry