Operators
Operators provide a simple syntax for manipulating values. Many of the Perl 6 operators will be familiar, especially to Perl programmers.
Assignment and Binding
The =
operator is for ordinary assignment.
It creates a copy of the values on the right-hand side and assigns
them to the variables or data structures on the left-hand side:
$copy = $original; @copies = @originals;
$copy and $original both have
the same value, and @copies has a copy of every
element in @originals.
The :=
operator is for binding assignment.
Instead of copying the value from one variable or structure to the
other, it creates an alias. An alias is an additional entry in the
symbol table with a different name for the one container:
$a := $b; # $a and $b are aliases @c := @d; # @c and @d are aliases
In this example, any change to $a also changes
$b, because they’re just two
separate names for the same container. Binding assignment requires
the same number of elements on both sides, so both of these would be
an error:
# ($a, $b) := ($c); # error # ($a, $b) := ($c, $d, $e); # error
The ::= operator is a variant of the binding
operator that binds at compile time.
Arithmetic Operators
The binary arithmetic operators are
addition (+),
subtraction (-),
multiplication
(*),
division (/),
modulus (%), and
exponentiation
(**). Each has a corresponding
assignment operator
(+=,
-=, *=, /=,
%=, **=) that combines the
arithmetic operation with assignment:
$a = 3 + 5; $a += 5; # $a = $a + 5
The unary arithmetic ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access