Unary Operators
Unary !
performs
logical negation, that is, “not.” The not
operator is a lower-precedence version
of !
.
Unary -
performs
arithmetic negation if the operand is numeric. If the operand is an
identifier, then a string consisting of a minus sign concatenated
with the identifier is returned. Otherwise, if the string starts
with a plus or minus, a string starting with the opposite sign is
returned.
Unary ~
performs
bitwise negation, that is, one’s complement. For example, on a
32-bit machine, ~0xFF
is 0xFFFFFF00
. If the argument to ~
is a string instead of a number, a
string of identical length is returned, but with all the bits of the
string complemented.
Unary +
has no
semantic effect whatsoever, even on strings. It is syntactically
useful for separating a function name from a parenthesized
expression that would otherwise be interpreted as the complete list
of function arguments.
Unary \
creates a
reference to whatever follows it (see Section 4.8 later in this
chapter). Do not confuse this behavior with the behavior of the
backslash within a string. The \
operator may also be used on a parenthesized list value in a list
context, in which case it returns references to each element of the
list.
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.