Здравствуйте, Господа. Помогите пожалуйста пофиксить программу ,
которая сравнивает два текстовых файла и в результате выводит в новый
.txt предложения которых нет ни в одном из двух файлов. Скрипт выглядит следующим образом:#!/usr/bin/perl
use open ':utf8';
binmode (STDOUT, ":utf8");
open (DATA, "10_saetze_aus_neg.txt") or die "alle_saetze_aus_neg1_sort.txt gibt es nicht\n";
open (IN, "500_appendix.txt");
while (<IN>){
chomp;
$str[$i++]=lc($_);
$str[$i-1]=~ s/[\,\.\?\-\!\"\*\;\:]//g;
$str[$i-1]=~ s/ / /g;
$str[$i-1]=~ s/ / /g;
$str[$i-1]=~ s/^ //g;
$str[$i-1]=~ s/\015\000$//g;
$str[$i-1]=~ s/ $//g;
}
close (IN);
while(<DATA>){
chomp;
$dat[$m++]=lc ($_);
$dat[$m-1]=~ s/ / /g;
$dat[$m-1]=~ s/ / /g;
$dat[$m-1]=~ s/^\s*(\S.*)/$1/;
# $dat[$m-1]=~ s/^(\S.*)\s*$/$1/;
$dat[$m-1]=~ s/^ //;
$dat[$m-1]=~ s/^ //;
$dat[$m-1]=~ s/^ //;
$dat[$m-1]=~ s/\015\000$//g;
$dat[$m-1]=~ s/ $//g;
$dat[$m-1]=~ s/ $//g;
$dat[$m-1]=~ s/ $//g;
}
close (DATA);
open (OUT, ">>neue_saetze.txt");
for ($k = 0; $k < $i; $k++){
$exist = 1;
print "m: $m\ti: $i\n";
for ($j = 0; $j < $m; $j++){
if ($str[$k] eq $dat[$j]){
$exist = 0;
}
}
if ($exist == 1){
print OUT $str[$k]."\n";
}
}
close (OUT);
Заранее благодарю.