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