On Fri, 4 Jan 2013 15:43:41 -0700
Elim Qiu <[email protected]> wrote:

> It's on snow leopard, perl version 5.10.0
> 
> 
> 
> print 3 > 1, "\n";
> 
> prints 1 and ignored "\n"

Includes the newline for me.

If I had to hazard a guess, I'd say perhaps when you ran it you
accidentally mistyped "." instead of "," (so you concatenated, so the
code was effectively print 3 > "1\n")

Could that be the case?

Also, extra parenthesis never hurt; while not required in these
examples, they can help aid readability at times and make precedence
clearer to less experienced coders reading your code, removing any
doubt from their minds on what's going to happen.

If my guess above is right, if you'd used parenthesis it would have
still worked - e.g.:

  print 3 > 1 . "\n";

written instead as:

  print( ( 3 > 1 ) . "\n");

... would still have provided the result you were expecting.

(I do of course agree that excessive use of parenthesis where not
needed can instead hurt readability - just providing an example of
where they could have helped.)


The sections in perldoc perlop on precedence and associativity will be
worth a read.


-- 
David Precious ("bigpresh") <[email protected]>
http://www.preshweb.co.uk/     www.preshweb.co.uk/twitter
www.preshweb.co.uk/linkedin    www.preshweb.co.uk/facebook
www.preshweb.co.uk/cpan        www.preshweb.co.uk/github



-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/


Reply via email to