使用perl比较两个文件

时间:2012-07-25 14:01:29

标签: perl

我有2个文件:A.txt和B.txt。在文件A.txt中,首先提交了具有5位数字序列,在B.txt文件中给出了整数。如果File A.txt的前5位数与第二个文件B.txt不匹配,则需要在单独的file.i.e中打印这些数字。 B.txt中的数字必须打印在另一个文件中。

A.TXT

81270,UEDP35
81274,UEDP35
87562,UEDP35
89537,UEDP35
90050,UEDP35
99358,UEDP35
99369,UEDP35
99560,UEDP35
99561,UEDP35

B.txt

8127047667
8756209276
9956176149
8127463873
8953713146
9935805068
9005080751
9956088702
9936916718

1 个答案:

答案 0 :(得分:2)

use warnings;
use strict;
open AIN, "<A.TXT" or die("A.TXT");
open BIN, "<B.TXT" or die("B.TXT");
my %seen;
while (<AIN>) { 
  my $v = (split(/,/))[0]; 
  $seen{$v}++; 
}
while (<BIN>) { 
  my $v=(split)[0]; 
  print "$v\n" if not $seen{substr($v, 0, 5)}; 
}
close AIN;
close BIN;