my @array = (1, 2, 3, 'four'); #### print $array[0]; ^ #### my @array = (1, 2, 3, 'four'); my $reference = \@array; print $reference; #### ARRAY(0x1a6527c) #### my @array = (1, 2, 3, 'four'); my $reference = \@array; print $reference; push @array, (1 .. 1000); $reference = \@array; print $reference; #### ARRAY(0x1a6527c)ARRAY(0x1a6527c) #### my @array = (1, 2, 3, 'four'); my $reference = \@array; print $reference->[0]; #### 1 #### my @array = (1, 2, 3, 'four'); my $reference = \@array; $reference->[0] = 'one'; print "@array"; #### one 2 3 four #### my @array = (1, 2, 3, 'four'); print $array[0]; #### 1 #### my @array = (1, 2, 3, 'four'); my $reference = \@array; print $reference->[0]; #### 1 #### my @array1 = (1, 2, 3, 'four'); my $reference1 = \@array1; my @array2 = ('one', 'two', 'three', 4); my $reference2 = \@array2; my @array = ($reference1, $reference2); # this refers to the first item of the first array: print $array[0]->[0]; #### 1 #### my @array1 = (1, 2, 3, 'four'); my $reference1 = \@array1; #### my $reference1 = [1, 2, 3, 'four']; #### my @array1 = (1, 2, 3, 'four'); my $reference1 = \@array1; my @array2 = ('one', 'two', 'three', 4); my $reference2 = \@array2; my @array = ($reference1, $reference2); print $array[0]->[0]; #### my @array = ( [1, 2, 3, 'four'], ['one', 'two', 'three', 4] ); print $array[0]->[0]; #### 1 #### my @array = ([1, 2, 3, 'four'], ['one', 'two', 'three', 4]); print $array[0][0]; #### 1 #### my @shapes = ( [qw/circle square triangle polygon/], [qw/red green blue yellow fuschia/] ); #### use Data::Dumper; print Dumper \@shapes; #### $VAR1 = [ [ 'circle', 'square', 'triangle', 'polygon' ], [ 'red', 'green', 'blue', 'yellow', 'fuschia' ] ];