如何对文本中得相应行的某个字段进行比较运算??

如何对文本中得相应行的某个字段进行比较运算??

如下文本:

14:26:51        BEGIN        abc
14:27:38        END        abc
14:30:25        BEGIN        hig
14:30:26        END        hig
14:34:48        BEGIN        figer
14:35:31        END        figer
14:37:46        BEGIN        hot
14:38:36        END        hot

最后一列为标示,标示相同的两行的第一列的相应2个字段进行相减运算(END对应的time减BEGIN对应的time)。如果以标示列为keys,相应的第一列为values,用hash 能否实现?刚接触perl不久,有哪位大大能解决下?
有好的思路或方法能否高知。非常感谢!!!

输出:
14:27:38 - 14:26:51结果      abc
14:30:26 - 14:30:25            hig
。。。。。。。
想想这个问题要让你手工一步一步做你会如何做?把详细步骤写下来,然后再用 Perl 实现。


[Copy to clipboard] [ - ]
CODE:
my $start="BEGIN";
my $end="END";
my $text;
my $flag=0;

while (<DATA>)
{
    if ( (/$start/ .. /$end/) )
    {
        my @temp = split;
        if ($flag)
        {
            $text .= "-" . $temp[0] . " " . $temp[2];
            print $text, "\n";
            $flag = 0;
            $text = undef;
        }
        else
        {
            $text = $temp[0];
            $flag = 1;
        }
    }
}
__END__
14:26:51        BEGIN        abc
14:27:38        END        abc
14:30:25        BEGIN        hig
14:30:26        END        hig
14:34:48        BEGIN        figer
14:35:31        END        figer
14:37:46        BEGIN        hot
14:38:36        END        hot