Operators
Operators provide a simple syntax for manipulating values. A few characters take the place of a function call, or even several function calls. On the positive side this makes them incredibly convenient. On the negative side they’re also sometimes difficult to learn because they pack so much meaning into a small space. Many of the Perl 6 operators will be familiar, especially to Perl 5 programmers. The new operators either add new features to the language, or move Perl’s operator set toward a more consistent system.
Assignment and Binding
The =
operator is for ordinary
assignment.
It
creates a copy of the values on the righthand side and assigns them
to the variables or data structures on the lefthand 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 and vice versa, 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 ...
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