@thearray = (1, 4, 6) my $line = ; my @column = split " ", $line; @bigarray = (@array_1, @array_2, @array_3, @array_4,@array_5, @array_6); foreach(my $i = 0; $i <= $#thearray; $i++) { push @bigarray[$thearray[$i]], [$line, $column[$thearray[$i]]; } #### @array_1 = [$line, $column[1]] @array_4 = [$line, $column[4]] @array_6 = [$line, $column[6]]