如何将新数据添加到现有工作表的新列中?

时间:2019-05-04 13:57:41

标签: perl

我正在从一系列日志文件中收集数据,每个日志中有3个字段:TestHostCPU 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   

0 个答案:

没有答案