Mega Code Archive

 
Categories / Perl / Language Basics
 

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