in reply to Order of operations

Hello hchana,

> print (...) interpreted as function..

print does not like to be treated as function, ie be followed by parens.

You can use in these case the + unary operator:  print +(4-1)... or surrounding the whole in an additional parens:  print +((4-1)...)

See Symbolic Unary Operators on docs and also a precise example at Named Unary Operators

PS interesting enough is a paragraph of print docs:

> Be careful not to follow the print keyword with a left parenthesis unless you want the corresponding right parenthesis to terminate the arguments to the print.

Infact an openening parens do not always provoke the above warning (perl is so smart..):

perl -we "use strict; my $x; print (1,2,3) and $x++" 123

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Replies are listed 'Best First'.
Re^2: Order of operations
by hchana (Acolyte) on Nov 16, 2017 at 09:31 UTC

    Thanks that's a great help. I also found the below scripts work; didn't know print was so complicated. haha

    print "", (4-1) + 2+3 * (2*2), "\n\n"; print +((4-1) + 2+3 * (2*2)), "\n\n"; print ((4-1) + 2+3 * (2*2), "\n\n");