foreach $file(@filenames){ open FILE, "$file"; while (){ $array1 =(); $array2 = (); #fill @array1; array1_ref = \@array1; #fill @array2; array2_ref = \@array2; } $hash{$file} = [$array2_ref, $array1_ref] ) #accessing the info: print @$hash{$somefile}[1];