У меня есть рабочий скрипт, который анализирует файл CSV, счищает данные и вносит некоторые изменения, прежде чем снова объединить их. Исходный файл, с которым я работал, был разделен запятой. Но я только что получил все фактические файлы, с которыми это будет работать, и все они разделены по каналам. Мне нужно сделать то же самое, а затем вернуть их вместе в виде файлов с разделителями-запятыми.От границы, разделенной запятыми?
Итак, чтобы начать, у меня есть -
#!/usr/bin/perl/
use strict;
use warnings;
use Data::Dumper;
use Time::Piece;
my $filename = 'records.csv';
open my $FH, $filename
or die "Could not read from $filename <$!>, program halting.";
# Read the header line.
chomp(my $line = <$FH>);
my @fields = split(/|/, $line);
print Dumper(@fields), $/;
my @data;
# Read the lines one by one.
while($line = <$FH>) {
chomp($line);
... разобрать через мои данные, а затем в настоящее время, я заканчиваю с этим, чтобы поместить данные обратно в файл -
# put the records back
push @data, \@fields;
Но как мне вернуть данные в виде запятой?
Я предполагаю, что это просто некорректная копия, но 'split (/ | /, $ line);' должен быть 'split (/ \ | /, $ line);' – ThisSuitIsBlackNot
* "Мне нужно сделать то же самое , затем верните их вместе как файлы с разделителями-запятыми "* Нет, вы этого не сделаете, вам просто нужно разделить данные на каналы вместо запятых и продолжить как обычно. Пожалуйста, не пытайтесь сначала воссоздать свой «ожидаемый» входной файл с реального, так как вы представите совершенно новый слой ошибок. – Borodin
Спасибо @ThisSuitIsBlackNot - на самом деле я быстро бросил трубку вместо запятой, которая изначально была там - Не знал, что мне нужен побег! – BigRedEO