** |
Exponentiation |
|||
+ | - | * | / |
Addition, subtraction, multiplication, division |
% |
Modulo division |
|||
& | | | ^ |
Bitwise AND, bitwise OR, bitwise exclusive OR |
|
>> | << |
Bitwise shift right, bitwise shift left |
||
|| | && |
Logical OR, logical AND |
||
. |
Concatenation of two strings |
|||
x |
Returns a string or array consisting of the left operand (an array or a string) repeated the number of times specified by the right operand. |
All of the above operators have an associated assignment operator, e.g., .=
-> |
Dereference operator |
|
\ |
Reference (unary) |
|
! | ~ |
Negation (unary), bitwise complement (unary) |
++ | -- |
Auto-increment (magical on strings), auto-decrement |
== | != |
Numeric equality, inequality |
eq | ne | String equality, inequality |
< | > |
Numeric less than, greater than |
lt | gt | String less than, greater than |
<= | >= |
Numeric less (greater) than or equal to |
le | ge |
String less (greater) than or equal to |
<=> | cmp |
Numeric (string) compare. Returns -1, 0, or 1. |
=~ | !~ |
Search pattern, substitution, or translation (negated) |
.. |
Range (scalar context) or enumeration (array context) |
|
? : |
Alternation (if-then-else) operator |
|
, |
Comma operator, also list element separator. You can also use => |
|
not |
Low-precedence negation |
|
and |
Low-precedence AND |
|
or | xor |
Low-precedence OR, exclusive OR |
All Perl functions can be used as list operators, in which case they have either very high or very low precedence, depending on whether you look at the left or the right side of the operator. Only the operators not, and, or, and xor have lower precedence.
A "list" is a list of expressions, variables, or lists. An array variable or an array slice may always be used instead of a list.
Parentheses can be added around the parameter lists to avoid precedence problems.