Scalar variables are assigned scalar values with an assignment statement. For instance:
$thousand = 1000;
assigns the integer 1000, a scalar value, to the scalar variable $thousand
.
The assignment statement looks like an equal sign from elementary mathematics, but
its meaning is different. The assignment statement is an instruction, not an
assertion. It doesn't mean "$thousand
equals
1000." It means "store the scalar value 1000 into the scalar variable $thousand
". However, after the statement, the value of
the scalar variable $thousand
is, indeed, equal
to 1000.
You can assign values to several scalar variables by surrounding variables and values in parentheses and separating them by commas, thus making lists:
($one, $two, $three) = ( 1, 2, 3);
There are several
assignment operators besides =
that
are shorthand for longer expressions. For instance, $a +=
$b
is equivalent to $a = $a + $b
.
Table B-1 is a complete list (it
includes several operators that aren't covered in this book).
Table B-1. Assignment operator shorthands
Example of operator |
Equivalent |
---|---|
$a += $b |
$a = $a + $b (addition) |
$a -= $b |
$a = $a - $b (subtraction) |
$a *= $b |
$a = $a * $b (multiplication) |
$a /= $b |
$a = $a / $b (division) |
$a **= $b |
$a = $a ** $b (exponentiation) |
$a %= $b |
$a = $a % $b (remainder of $a / $b) |
$a x= $b |
$a = $a x $b (string $a repeated $b times) |
$a &= $b |
$a = $a & $b (bitwise AND) |
$a |= $b |
$a = $a | $b (bitwise OR) |
$a ^= $b |
$a = $a ^ $b (bitwise XOR) |
$a >>= $b |
$a = $a >> $b ($a shift $b bits) |
$a <<= $b |
$a = $a >> $b ($a shift $b bits to left) |
$a &&= $b |
$a = $a && $b (logical AND) |
$a ||= $b |
$a = $a || $b (logical OR) |
$a .= $b |
$a = $a . $b (append string $b to $a) |