Perl:搜索在某个时间差异中出现的模式

时间:2013-01-21 21:54:28

标签: perl pattern-matching timedelta

首先我的问题:我有一个文档,我想在其中搜索两种模式。在每一行中都有一个时间戳。所以也有时间与模式一致。

现在我想只得到那两种模式,这些模式出现在一定的时差或者时间差高于我输入的时间(我想确定)。像:

19:03 Pattern1 
19:04 Pattern2
20:04 Pattern1
20:10 Pattern2

time difference: 4 sec

我计算了绝对时间和差异。模式匹配没有问题。 但我的问题是给出所有线条/图案的线条,这些线条/图案的时间差大于例如4秒。

1 个答案:

答案 0 :(得分:0)

你忘了实际问一个问题!也许你想要匹配的线?

my ($pat1_time, $pat1_line); 
while (<>) {
   my $time = ...;
   if (/pat1/) {
      $pat1_line = $_;
      $pat1_time = $time;
   }
   if (/pat2/) {
      if ($time - $pat1_time > 4) {
         print($pat1_line);
         print($_);
      }
   }
}