Я собираю данные из массива файлов журнала, и в каждом журнале есть 3 поля: Test
, Host
и CPU TIME
.
Мне нужно, чтобы поля были напечатаны в три столбца каждый раз при разборе журнала, но вместо этого результат каждый раз печатался в другой строке.
Как добавить новые данные в соответствующий столбец при каждом анализе файла?
Я пытался использовать push, чтобы объединить результат в один массив, но вывод такой, как показано:
while(<FILE>) {
my($line) = $_;
# remove any trail space (the newline)
chomp($line);
my @datarow = $_;
my @datarow1 = $_;
if ($line =~ /Test ID /){
my @cols = split " ", $line;
my (@datarow)=($cols[0],$cols[3]);
#$csv->print($fh,\@datarow); # Array ref!
}
if($line =~ /Host Machine /){
my @cols = split " ", $line;
(@datarow1)=($cols[0],$cols[3],"\n");
push(@datarow1,@datarow);
$csv->print($fh,\@datarow1);
}
}
Фактический результат:
TEST TIME HOST
Test tcp_sla_tap_read_regs_reset_test_seed_FA37D586+stap_stap_a53ss_axi1
Host scc058006 Host Machine : scc058006