An array reference points to an array, and ->[] selects one element from it.

array reference An array reference is a scalar value that points to an array.

Array References

index
array_refs.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;

my $index = 1;
my $items_ref = ["red", "green", "blue"];
my $selected = $items_ref->[$index];
my $count = scalar @{$items_ref};

print "index=$index\n";
print "selected=$selected\n";
print "count=$count\n";
use strict;
use warnings;

my $index = 0;
my $items_ref = ["red", "green", "blue"];
my $selected = $items_ref->[$index];
my $count = scalar @{$items_ref};

print "index=$index\n";
print "selected=$selected\n";
print "count=$count\n";
use strict;
use warnings;

my $index = 2;
my $items_ref = ["red", "green", "blue"];
my $selected = $items_ref->[$index];
my $count = scalar @{$items_ref};

print "index=$index\n";
print "selected=$selected\n";
print "count=$count\n";
  1. $index ← 1, $selected ← green, $count ← 3

    4my $index→ 1 = 1; #@index=0, 25my $items_ref = ["red", "green", "blue"];6my $selected→ green = $items_ref->[$index];7my $count→ 3 = scalar @{$items_ref};89print "index=$index1\n";10print "selected=$selectedgreen\n";11print "count=$count3\n";
    outputindex=1
    selected=green
    count=3
  1. $index ← 0, $selected ← red, $count ← 3

    4my $index→ 0 = 0;5my $items_ref = ["red", "green", "blue"];6my $selected→ red = $items_ref->[$index];7my $count→ 3 = scalar @{$items_ref};89print "index=$index0\n";10print "selected=$selectedred\n";11print "count=$count3\n";
    outputindex=0
    selected=red
    count=3
  1. $index ← 2, $selected ← blue, $count ← 3

    4my $index→ 2 = 2;5my $items_ref = ["red", "green", "blue"];6my $selected→ blue = $items_ref->[$index];7my $count→ 3 = scalar @{$items_ref};89print "index=$index2\n";10print "selected=$selectedblue\n";11print "count=$count3\n";
    outputindex=2
    selected=blue
    count=3