Variables
$varA simple scalar variable.
$p = \$varNow
$pis a reference to scalar$var.$$pThe scalar referenced by
$p.@varAn 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 = \@varNow
$pis 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
$pis a reference to the seventh element of array@var.$p = [1,3,'ape']Now
$pis a reference to an anonymous array with three elements.$var[$i][$j]$j-th element of$i-th element of array@var.$#varLast index of array
@var.@var[3,4,5]A slice of array
@var.%varA 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 = \%varNow
$pis 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
$pis 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 = \&mysubNow
$cis a reference to subroutinemysub.$c = sub {. . .}Now
$cis a reference to an anonymous subroutine.&$c(args)or$c->(args)A call to the subroutine via the reference.
$MyPackage::varVariable
$varfrom package ...