in reply to indexing an array

What exactly is intended by the recursive reference:          $FirstItem[$FirstItem[$Index]] That seems kind of unusual.

As mentioned, unpack would do the job for you quite well, but even better would be to use a multi-dimensional array, or Array of Arrays (AoA), or even an Array of Hashes (AoH). AoH allows you to label the fields. AoA is probably more compact.

Consider:
sub Read_File { while(<CLAIMS>) { # (Choose one method only) # 1: AoH method my (%row); @row{'a','b','c'} = unpack ("A8 A6 A2", $_); push (@data, \%row); # 2: AoA method push (@data, [unpack ("A8 A6 A2", $_)]); } }
So you can extract records like so:
my ($record) = $data[$n]; # Index starts at 0, not 1 # AoH print "$record->{a} | $record->{b} | $record->{c}\n"; # AoA print "$record->[0] | $record->[1] | $record->[2]\n";