perl -we' print +2-2 . '*' . 2-2 .'='. -4+4-4+4 . '=' 0; ' #current perl: Argument "0*2" isn't numeric in subtraction (-) at -e line 2. Argument "-2=-4" isn't numeric in addition (+) at -e line 2. 2=0 # proposed would give the integer ops higher precedence and get them out of the way of the string-combining parts. Thus: perl -we' print +(2-2) . "*". (2-2) . "=" . (-4+4-4+4) . "=". 0 ."\n"; ' 0*0=0=0