好吧我有2个文件。一个文件是每10分钟更新一次的数据,而另一个文件是之前使用过的数据。我想要做的是从新文件中取一行,然后循环遍历第二个文件的每一行,看它是否与一行匹配。如果是这样,我不想使用它,但如果没有匹配比我想将它添加到字符串。在我迄今为止所做的事情看来,即使有支票,支票也找不到匹配。这里是我所拥有的和我从这两个文件中使用的数据样本。 CHECKHAIL和USEDHAIL是两个文件通过Perl文件循环访问
while(my $toBeChecked = <CHECKHAIL>){
my $found = 0;
seek USEDHAIL, 0, 0 or die "$0: seek: $!";
while(my $hailCheck = <USEDHAIL>){
if($toBeChecked == $hailCheck){
$found += 1;
}
}
print USEDHAIL $toBeChecked;
if ($found == 0){
$toEmail .= $toBeChecked;
}
}
print $toEmail;
return;
}
CHECKHAIL样本数据
2226 175 2 NE LAWRENCE DEADWOOD SD 44.4 -103.7 (UNR)
2305 200 2 S SISKIYOU GREENVIEW CA 41.52 -122.9 2 INCH HAIL REPORTED WITH STORM JUST SOUTH OF GREENVIEW. (MFR)
2350 200 DANIELS E FLAXVILLE MT 48.8 -105.17 GOLF BALL TO HEN EGG SIZED HAIL (GGW)
2350 175 5 N DANIELS RICHLAND MT 48.89 -106.05 DESTROYED CROPS (GGW)
USEDHAIL样本数据
2226 175 2 NE LAWRENCE DEADWOOD SD 44.4 -103.7 (UNR)
2305 200 2 S SISKIYOU GREENVIEW CA 41.52 -122.9 2 INCH HAIL REPORTED WITH STORM JUST SOUTH OF GREENVIEW. (MFR)
这听起来像是一个强大的坏主意,并且任务的复杂性将由O(n ** 2)完成。只需将数据放在数据库中,为任何定义的主键约束添加UNIQUE,添加另一列'date_entered DEFAULTS CURRENT_TIMESTAMP',然后选择'date_entered> TODAY - '1 day':: interval'。 – 2010-07-28 20:11:25