extrair múltiplas colunas do arquivo txt perl

Eu tenho um arquivo txt como este:

#Genera columnA columnB columnC columnD columnN
x1       1       3       7      0.9      2
x2       5       3       13     7        5
x3       0.1     0.8     7      1        0.4

e eu quero extrair X número determinado de colunas, suponha que desejemos columnA, columnC e columnN (isso pode ser uma matriz com 1, 2, 20, 100 ou mais colunas) e o que eu quero imprimir (esse exemplo é apenas 3, mas pode ser mais):

#Genera columnA columnC columnN
    x1   1       7       2
    x2   5       13      5
    x3   0.1     7       0.4

eu tentei

#!/usr/bin/perl
use strict;
use warnings;


my @wanted_fields = qw/columnA columnC columnN/;

open DATA, '<', "columns.txt" or die "cant open file\n";


my @datain = <DATA>;
close DATA;

my (@unit_name, $names, @lines, @conteo, @match_names, @columnas);

foreach (@datain){
    if ($_=~ m/^$/g)            {   next;           }
    elsif ($_=~ m/#Genera/g)    {   $names= $_;     }
    else                        {   push @lines, $_ }
}


@unit_name = split (/\t/, $names);
shift @unit_name;
my $count =0;

    foreach (@wanted_fields){
        my $unit_wanted =$_;
        chomp $unit_wanted;
        foreach (@unit_name){
            if ($_ =~ m/$unit_wanted/g){
                $count++;
                 push (@conteo, $count);
                 push (@match_names, $_);
                }
        }
    }


    foreach (@lines){
        chomp;
        @columnas = split (/\t/, $_);
            #push @xx, $columnas[0][3];

    }

Eu usei a contagem para determinar a coluna a ser extraída, mas, neste caso, o número 2 não corresponde à coluna C e 3 não corresponde à coluna N, bem ...... é uma maneira simples de selecionar qualquer coluna, neste caso, eu só quero 3, mas depende do caso pode ser 1,2 5, 10, 100 ou mais colunas.

obrigado

questionAnswers(3)

yourAnswerToTheQuestion