O'Reilly logo

Perl Pocket Reference, 5th Edition by Johan Vromans

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

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

Emulated multidimensional hash (obsolete).

$c = \&mysub

Now $c is a reference to subroutine mysub.

$c = sub { . . . }

Now $c is a reference to an anonymous subroutine.

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

A call to the subroutine via the reference.

$MyPackage::var

Variable $var from package ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required