比较perl中的两个文件并找到不匹配

时间:2013-10-04 12:42:35

标签: perl

我尝试读取两个文件并进行比较:

  

file1:AAAAAAAAAA

     

file2:AAAABAAAAA

     

输出:MMMMNMMMMM

open(my $fh1, '<', 'file1');

open(my $fh2, '<', 'file2');


while(
    defined(my $line1 = <$fh1>)
    and
    defined(my $line2 = <$fh2>)
    ){
    chomp $line1;
    chomp $line2;
    my @line1 = split(//, $line1);
    my @line2 = split(//, $line2);  
        for my $i (0 ..@line1-1){
            for my $j (0 .. @line2-1){
                if ($line1[$i] eq $line2[$j]){      
                    print "M\";}        

                    else {          
                    print "N";} 
        $j++;}
        $i++;}}

close $fh1;
close $fh2;

反复打印输出!!如果有人帮助我,那将是一个很大的帮助。

1 个答案:

答案 0 :(得分:1)

每行只需要一个for循环,

my $max = $#line1 > $#line2 ? $#line1 : $#line2;
for my $i (0 .. $max) {
  if ($line1[$i] eq $line2[$i]) { print "M";}
  else                          { print "N";} 
}