line_number var1 var2 .... varN #### for my $file (@files) { while () $line_number= $list[0]; push @($var1{$i}), $list[1]; etc... } close IN; } #### for my $j (0...Nlines-1){ open(OUT, ">", "./var1.dat") print OUT "$line_number \t $var1{file1}[$i] \t $var1{file2}[$i] \t ... $var1{fileN}[$i]\n" } close OUT;