Я пытаюсь записать данные, рассчитанные моим скриптом perl, в файл csv, который будет повторно открыт и вводиться. Я столкнулся с двумя проблемами. Во-первых, CSV создал одну отдельную строку, добавляя каждое новое поле в новый столбец. Секрет состоит в том, что созданный CSV-файл не завершился успешно, поэтому я не могу снова открыть его и отредактировать, снова запустив скрипт. код, который я использую это:Ввод NewLine в письменной форме CSV-документы Perl
push my @rows, ["Entries Missing from English doc:"," " , "Entries Missing from French doc:"];
push @rows, ["$englishUnincluded[0]", " ", "$frenchUnincluded[0]"];
my $csv = Text::CSV->new ({binary=>1}) or die "cannot use CSV: ".Text::CSV->error_diag();
open my $csvFile, ">:encoding(utf8)", "telt.csv" or die "telt.csv: $!";
$csv->column_names(@{$rows[0]});
$csv->print($csvFile, $_) for @rows;
close $csvFile or die "teet.csv: didnt close at all";
Я также попытался использовать последовательные операторы печати, а не на $csv->print(..) for @rows;
я ранее имел statments выглядящие как
$field_vals = ["$val", "something", " "]; $csv->print($csvFile, $field_vals);
и перезагружается все значения в поле вальса и распечатаны они как линии для CSV, но имели одинаковые два вопроса непрерывно.
** обратите внимание, что проблема с закрытием CSV не удаляется, если печатается только одна строка. Кроме того, сценарий не печатает сообщение «или умереть», не закрывая файл должным образом.
заблаговременно за любую помощь, которую вы предоставляете!
Вы можете перейти к другому подходу и писать в CSV, просто '' print'ing до $ csvfile' значения, которые вы хотите через запятую и 'print $ csvfile" \ n "' в конце строки – yonyon100