An
operator
produces a new value (the
*result*)
from one or more other values (the
*operands*). For
example, `+`

is an operator because it takes two
numbers (the operands, like 5 and 6), and produces a new value (11,
the result).

Perl’s operators and expressions are generally a superset of those provided in most other ALGOL/Pascal-like programming languages, such as C or Java. An operator expects either numeric or string operands (or possibly a combination of both). If you provide a string operand where a number is expected, or vice versa, Perl automatically converts the operand using fairly intuitive rules, which will be detailed in Section 2.4.4 later in this chapter.

Perl provides the typical ordinary addition, subtraction, multiplication, and division operators, and so on. For example:

2 + 3 # 2 plus 3, or 5 5.1 - 2.4 # 5.1 minus 2.4, or approximately 2.7 3 * 12 # 3 times 12 = 36 10.2 / 0.3 # 10.2 divided by 0.3, or approximately 34 10 / 3 # always floating point divide, so approximately 3.333333...

Additionally, Perl provides the FORTRAN-like
*exponentiation*
operator, which many have yearned for in Pascal and C. The operator
is represented by the double asterisk, such as
`2**3`

, which is 2 to the power of 3, or 8. (If the
result cannot fit into a double-precision floating-point number, such
as a negative number to a noninteger exponent, or a large number to a
large exponent, you’ll get a fatal error.)

Perl also supports a
*modulus* operator. ...

Start Free Trial

No credit card required