请补充两个问题:
一、A文件中间的分隔符是不是空格.
二、就你的例子而言,输出C文件内容是什么,是不是A文件所有行的第一个单词,因为你举例的B文件一个都没有剔除的.
如果我以上对你的本意的猜测正确,那么下面的代码满足你的要求:
my(%W,$word,$line);
#读B
open(FD,'B');
while($line=
){
($word)=split(/s+/,$line);
$W{$word}=1 if ($word ne '');
}
close(FD);
#读A、写C
open(FD,'A');
open(FE,'>C');
while($line=
){
($word)=split(/s+/,$line);
print FE "$wordn" if (! $W{$word});
}
close(FD);
close(FE);