Basic Operators

For more information on how operators work, consult the perlop documentation bundled with Perl.

Arithmetic Operators

Perl has the basic five arithmetic operators:

+

Addition

-

Subtraction

*

Multiplication

/

Division

**

Exponentiation

These operators work on both integers and floating-point values (and may give you unexpected results if you apply them to strings, as well).

Perl also has a modulus operator, which computes the remainder of two integers:

% modulus

For example, 17 % 3 is 2, because 2 is left over when you divide 3 into 17.

Perl also has autoincrement and autodecrement operators:

++ add one
-- subtract one

Unlike the previous six operators, these change a variable's value. $x++ adds one to $x, changing 4 to 5 (or 'a' to 'b').

Bitwise Operators

All scalars, whether numbers or strings, are represented as sequences of individual bits "under the hood." Every once in a while, you need to manipulate those bits, and Perl provides five operators to help:

&

Bitwise and

|

Bitwise or

^

Bitwise xor

>>

Right shift

<<

Left shift

String Operators

Two strings may be concatenated—joined together end to end—with the dot operator:

'This is a ' . 'joined string'

This results in the value 'This is a joined string'.

A string may be repeated with the x operator:

print "Hear ye! " x 3;

This prints out:

Hear ye! Hear ye! Hear ye!

File Test Operators

File test operators are unary operators that test files for certain characteristics, such as -e $file, which returns true if the file $file exists. Table B-2 lists some available file test operators.

Table B-2. File test operators

Operator

Meaning

-r

File is readable

-w

File is writable

-x

File is executable

-o

File is owned by "you"

-e

File exists

-z

File has zero size in bytes

-s

File has nonzero size (returns size in bytes)

-f

File is a plain file

-d

File is a directory (a.k.a. folder)

-l

File is a symbolic link

-t

Filehandle is opened to a terminal

-T

File is a text file

-B

File is a binary file

-M

Age of file (at startup of program) in days since modification

-A

Age of file (at startup of program) in days since last access

-C

Age of file (at startup of program) in days since last inode change

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset