У меня большой CSV-файл, содержащий 350 полей. Заголовки и значения должны быть расположены на основе заголовков в другом CSV-файле.
Чтобы опробовать меньший регистр, я имею ниже ссылки на кодовые ссылки {AB C D}
use File::Basename;
use Array::Utils qw(:all);
use Text::CSV;
my @headers = qw(A B C D);
my $csv_in = Text::CSV->new({binary => 1, auto_diag => 1});
my $csv_out = Text::CSV->new({binary => 1, auto_diag => 1});
open my $in, '<:encoding(UTF-8)', 'test.csv';
open my $out, '>:encoding(UTF-8)', 'test_out.csv';
$csv_in->header($in);
$csv_out->say($out, [@headers]);
while (my $row = $csv_in->getline_hr($in)) {
$csv_out->say($out, [@{$row}{@headers}]);
}
Он правильно печатает заголовки, но значения других следующих строк пусты
Файл входов -
A, B, D, C
1,2,4 , 3
Ожидаемый выход -
A, B, C, D
1,2,3,4
Токовый выход -
A, B, C, D
,,,
Может кто-нибудь помочь мне исправить это?