Expressions and Operators

Previous Table of Contents Next

Expressions and Operators

Now that you've learned what scalar data is and know how to use scalar variables, you can start doing something useful with Perl. Perl programs are just collections of expressions and statements executed in order from the top of your Perl program to the bottom (unless you specify otherwise with flow-control statements, covered in Hour 3, "Controlling the Program's Flow"). Listing 2.1 shows a valid Perl program.

Listing 2.1. A Simple Perl Program

1:   #!/usr/bin/perl -w


3:   $radius=50;


5:   $area=3.14159*($radius ** 2);

6:   print $area;

Line 1: This line is the path to the Perl interpreter, as explained in Hour 1. The -w switch tells Perl to inform you of any warnings encountered.

Line 3: This line is an assignment. The numeric scalar data value 50 is stored in the scalar variable $radius.

Line 5: This line is another assignment. On the right side of the assignment operator is an expression. This expression contains the scalar variable $radius, operators (* and **, explained later), and a numeric scalar (2). The expression's value is computed and assigned to $area.

Line 6: This line prints the result of the calculation stored in $area.

An expression in Perl is simply something that has a value. For example, 2 is a valid expression. So are 54*$r, "Java", sin($pi*8), and $t=6. The values of expressions are computed when your program is run. The program evaluates the functions, operators, and scalar constants in the expression and reduces it to a value. You can use these expressions with assignments, as part of other expressions, or as part of other Perl statements.

Basic Operators

As you saw in Listing 2.1, to assign scalar data to a scalar variable, you use the assignment operator, =. The assignment operator takes the value on the right side and puts it in the variable on the left:

$title="Gone With the Wind";


The operand on the left side of the assignment operator must be something that a value can be assigned tonamely, a variable. The operand on the right side can be any kind of expression. The entire assignment itself is an expression; its value is that of the right-hand expression. This means that, in the following snippet, $a, $b, and $c are all set to 42:


Here, $c is first set to 42. $b is set to the value of the expression $c=42 (which is 42). $a is then set to the value of the expression $b=42.

The variable being assigned to can even appear on the right side of the assignment operator, as shown here:



The right side of the assignment operator is evaluated using the old value of $a or $count, and then the result is assigned to the left side as the new value. The second example has a special name in Perl; it's called an increment. You'll read more about incrementing values later.

Numeric Operators

Perl has many operators to manipulate numeric expressions. Some of these operators are familiar to you already; some you will be meeting for the first time. The first kind of operator you should already knowthe arithmetic operators. Table 2.3 shows a list of these operators.

Previous Table of Contents Next
© 2000- NIV