We have now discussed all the different ways you can use variables in list and scalar context. At this point, it might be helpful to review all the ways we have used variables in different contexts. The table that follows identifies many of the ways variables are used in Perl.
Expression  Context  Variable  Evaluates to

$scalar  scalar  $scalar , a scalar
 the value held in $scalar

@array  list  @array , an array
 the list of values (in order) held in @array

@array  scalar  @array , an array
 the total number of elements in @array (same as
$#array + 1 )

$array[$x]  scalar  @array , an array
 the ($x+1) th element of @array

$#array  scalar  @array , an array
 the subscript of the last element in @array (same as
@array 1 )

@array[$x, $y]  list  @array , an array
 a slice, listing two elements from @array (same as
($array[$x], $array[$y]) )

"$scalar"  scalar (interpolated)  $scalar , a scalar
 a string containing the contents of $scalar

"@array"  scalar (interpolated)  @array , an array
 a string containing the elements of @array , separated by
spaces

%hash  list  %hash , a hash
 a list of alternating keys and values from %hash

$hash{$x}  scalar  %hash , a hash
 the element from %hash with the key of $x

@hash{$x, $y}  list  %hash , a hash
 a slice, listing two elements from %hash (same as
($hash{$x}, $hash{$y})
