use strict; use Tie::File; my $nbdc_dir = '.'; my @nbdc_files = qw(1.txt 2.txt 3.txt); my @nbdc_tied_files; my @nbdc_data; my $index=0; foreach my $file (@nbdc_files) { tie my @tmparray, 'Tie::File', "./$nbdc_dir/$file" or die "Can't open ./$nbdc_dir/$file"; push @nbdc_tied_files, \@tmparray; #get the first set of data values $nbdc_tied_files[0][0]; $_ = $nbdc_tied_files[0][1]; $nbdc_data[$index] = split(/\t/, $_); $index++; }