my @thearray = (1, 4, 6); my @columns = split ' ', ; my @arrays = \(@array_1, @array_2, @array_3, @array_4, @array_5, @array_6); for (@foo) { push @{ $arrays[$_] }, [ $line, $columns[$_] ]; }