Precedence and Associativity
Operator Description Associativity
() [ ] { } Function call, array subscripts Left to right
** Exponentiation Right to left
! ~ \ + - Logical not, bitwise not, backslash, plus,minus Right to left
=~ !~ Match and not match Left to right
* / % x Multiply, divide, modulus, string repetition Left to right
+ -. Add, subtract, string concatenation Left to right
<< >> Bitwise left shift, right shift Left to right
-r -w -x -o etc. File test operators None
< <= > >= lt le gt ge Numeric and string: less than, greater than, etc. None
== != <=> eq ne cmp Numeric and string: equal to, not equal to, etc. None
& Bitwise and Left to right
| ^ Bitwise or, exclusive or (xor) Left to right
&& Logical and Left to right
|| Logical or Left to right
.. Range operator None
? : Ternary, conditional Right to left
= += -= *= /= %= Assignment Right to left
, => Left to right
not ! Right
and && Left to right
or xor ||, ^ Left to right
Related examples in the same category