G'day almoodie,
There seems to be a few things you haven't really understood here:
-
@nametape is an array of arrayrefs.
-
When iterating through @nametape with foreach, each element will be an arrayref, not a line (i.e. $line is not what its name suggests).
-
split operates on a string. Such a string might often be found in variable called $line - but not today :-(
-
To access elements of an array you use $array[index]; for arrayrefs, you use $arrayref->[index] (where index evaluates to an integer).
-
Had you added "use strict;" and "use warnings;" to the start of your code, Perl would have alerted you to these types of problems. See strict and warnings.
Here's an example of the type of code you need:
$ perl -Mstrict -Mwarnings -E '
my @nametape = ([24, 101], [25, 102], [23, 103]);
for my $arrayref (@nametape) {
say "Arrayref values: ", $arrayref->[0], " and ", $arrayref->[
+1];
}
'
Arrayref values: 24 and 101
Arrayref values: 25 and 102
Arrayref values: 23 and 103