Anonymous Data
In the examples just shown, the backslash operator merely makes a duplicate of a reference that
is already held in a variable name—with one exception. The 186_282.42 isn’t referenced by a named
variable—it’s just a value. It’s one of those
anonymous referents we mentioned earlier. Anonymous referents are accessed
only through references. This one happens to be a number, but you
can create anonymous arrays, hashes, and subroutines as well.
The anonymous array composer
You can create a reference to an anonymous array with square brackets:
$arrayref = [1, 2, ["a", "b", "c", "d"]];
Here we’ve composed an anonymous array of three elements,
whose final element is a reference to an anonymous array of four
elements (depicted in Figure 8-2). (The
multidimensional syntax described later can be used to access
this. For example, $arrayref–>[2][1] would have the
value “b”.)

Figure 8-2. A reference to an array, whose third element is itself an array reference
We now have one way to represent the table at the beginning of the chapter:
$table = [ [ "john", 47, "brown", 186],
[ "mary", 23, "hazel", 128],
[ "bill", 35, "blue", 157] ];Square brackets work like this only where the Perl parser is
expecting a term in an expression. They should not be confused
with the brackets in an expression like $array[6]—although the mnemonic association with arrays is intentional. Inside a quoted string, square ...
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