my $arr[] = [42,43,44]; # "typed" array ref #--- effects print $arr[0]; # => 42 (same as $arr->[0]) print $arr; # => ARRAY(0x8f4c214) print "@arr"; # => "42 43 44" (same as "@$arr") print "@arr[0,2]"; # => "41 43" (slice) #--- caught Errors (compile time): my @arr; ## @arr masks earlier declaration in same scope my $arr; ## $arr masks earlier declaration in same scope my $arr{} ## $arr{} masks earlier declaration in same scope #### my $a_ref = [1,2,3]; # old style $a_ref->{x}; ## Not a HASH reference (run time)