| [SYMBOL] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z] . (concatenation) instruction (PIR) ! (bang) 2nd ! (not) != (not equal) # (hash sign) $ sigil % ( modulus ) operator 2nd % (percent sign) 2nd % sigil %= (modulus assignment) %flags hash & (ampersand) 2nd 3rd & (bitwise AND) instruction (PIR) && (logical AND) opcode operator &= (bitwise AND assignment) instruction (PIR) > (greater than) > (right angle bracket ) 2nd 3rd 4th 5th 6th >> (bitwise right shift) >>> (logical right shift) >>>= (logical right shift assignment) >>= (bitwise right shift assignment) >= (greater than or equal) < (left angle bracket) 2nd 3rd 4th < (less than) << (bitwise left shift) <<= (bitwise left shift assignment) <. . .> (assertion delimiters) <= (less than or equal) / (division) opcode * (asterisk) 2nd 3rd * (multiplication) opcode operator ** (exponentiation) opcode operator *= (multiplication assignment) + (addition) opcode operator + (plus sign) 2nd ++ (postfix autoincrement) operators += (addition assignment) - (hyphen) 2nd 3rd - (negation) - (subtraction) opcode operator - - (autodecrement) operators -= (subtraction assignment) . (dot) / (division) operator / (slash) // operator := (binding) operator = (assignment) instruction (PIR) = (assignment) operator .= (concatenation assignment) instruction (PIR) /= (division assignment) = (equal sign) 2nd == (equality) instruction (PIR) @ sigil [. . .] (brackets) ^ (caret), placeholder variables ^^ operator _ _ (double underscore ) (bitwise AND) instruction (PIR) (pipe) 2nd 3rd = (bitwise AND) instruction (PIR) (logical OR) opcode operator ~ (bitwise XOR) instruction (PIR) ~ (tilde) 2nd 3rd ~ operator (string concatenation) ~= (bitwise XOR assignment) instruction (PIR) ~~ (logical XOR) instruction (PIR) ~~ (smart-match) operators syntax |