Unter den Operatoren gibt es eine feste Rangordnung. Bei komplexen Rechenoperationen oder wenn mehrere Bedingungen miteinander verknüpft werden, gilt bei der Auflösung komplexen Ausdrücke die folgende Rangordnung:
| Rang | Bindungsrichtung | Operatoren | |
|---|---|---|---|
| 1 | Likns | -> | Deferenzieren |
| 2 | - | ++ -- | Inkrementieren, Dekrementieren |
| 3 | Rechts | ** | Potenzierung |
| 4 | Rechts | ! ~ + - | logische und bitweise Negation, Referenz, Vorzeichen |
| 5 | Likns | =~ !~ | Bindung an reguläre Ausdrücke |
| 6 | Likns | * / % x | Multiplikation, Division, Modulo, Zeichenwiederholung |
| 7 | Likns | + - . | Addition, Subtraktion, Zeichenkettenaddition |
| 8 | Likns | << >> | Verschieben von Bits |
| 9 | - | Monadische Operatoren | z.B. glob |
| 10 | - | < > <= >= lt gt le ge | Vergleiche grösser / kleiner |
| 11 | - | == != <=> eq ne cmp | Gleichheit / Ungleichheit |
| 12 | Likns | & | bitweises UND |
| 13 | Likns | | ^ | bitweises ODER |
| 14 | Likns | && | logisches UND |
| 15 | Likns | || | logisches ODER |
| 16 | - | .. ... | Bereichsdefinition in Listen |
| 17 | Rechts | ?: | Entweder-Oder-Bedingung |
| 18 | Rechts | = += -= *= und so weiter | Zuweisung |
| 19 | Likns | , => | Aneinanderreihung |
| 20 | - | Listenoperator | im Listenkontext |
| 21 | Rechts | not | logische Negation |
| 22 | Likns | and | logisches UND |
| 23 | Likns | or xor | logisches inklusuves / exklusives ODER |
Der Rang (precedence) der Operatoren legt fest, welche Operatoren in einem komplexen Ausdruck zuerst ausgewertet werden.
Die Bindungsrichtung bestimmt, wie Operatoren mit gleichem Rang ausgewertet werden (Links: Operatoren von links nach rechts, Rechts: von rechts nach links, und bei '-' ist die Reihenfolge der Auswertung entweder nicht wichtig, nicht garantiert oder nicht einmal möglich)