Chapter 8. Variables

$var

A simple scalar variable.

$p = \$var

Now $p is a reference to scalar $var.

$$p

The scalar referenced by $p.

@var

An array. In scalar context, the number of elements in the array.

$var[6]

Seventh element of array @var.

$var[-1]

The last element of array @var.

$p = \@var

Now $p is a reference to array @var.

$$p[6] or $p->[6]

Seventh element of array referenced by $p.

${$p[6]}

The scalar referenced by $p[6].

$p = \$var[6]

Now $p is a reference to the seventh element of array @var.

$p = [1,3,'ape']

Now $p is a reference to an anonymous array with three elements.

$var[$i][$j]

$j-th element of $i-th element of array @var.

$#var

Last index of array @var.

@var[3,4,5]

A slice of array @var.

%var

A hash. In scalar context, true if the hash has elements.

$var{'red'} or $var{red}

A value from hash %var. The hash key may be specified without quotes if it is simple identifier.

$p = \%var

Now $p is a reference to hash %var.

$$p{'red'} or $p->{'red'}

A value from the hash referenced by $p.

${$p{'red'}}

The scalar referenced by $p{'red'}.

$p = {red => 1, blue => 2, yellow => 3}

Now $p is a reference to an anonymous hash with three elements.

@var{'a','b'}

A slice of %var; same as ($var{'a'},$var{'b'}).

$var{'a',1, ... }

Multidimensional hash (obsolete).

$c = \&mysub

Now $c is a reference to subroutine mysub.

&$c( args ) or $c->( args )

A call to the subroutine via the reference.

$c = sub { ... }

Now $c is a reference to an anonymous subroutine.

pkg::var

A variable from a package, e.g., $pkg::var, @pkg::ary. The default package ...

Get Perl Pocket Reference, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.