References and Nested Data
Array References
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
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";
$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
$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
$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