perl打开2个文件

2025-04-26 12:48:25
推荐回答(2个)
回答1:

因为在匹配one的时候,while ($b=)读文件读完后,文件指针已指向文件结尾,那么后面几次循环就是空的。

你可以试着将文件内容读到内存里面。


#!/usr/bin/perl
 open IN," open IN1," my @file1 = ;
 my @file2 = ;
 for $a (@file1){
  chomp $a;
  my @d;                                                                                                           
  for $b(@file2){
   chomp $b;
   if ($b=~ /$a;(.*)/){
    $c=$1;
    push (@d,$c);
   }
  }
  print "$a;@d\n";
 }

回答2:

while ($b=)

一次把bb文件都读完了,后面的循环读不到内容了

应该分开两个循环处理两个文件