my %saetze_gefunden; for my $file (@textdateien) { # gesammte Datei einlesen local $/=''; open (DATEI, '<', $file) or die "Konnte '$file' nicht öffnen ($!)\n"; # Datei in sätze zerlegen (my $daten=)=~s/[\r\n]//gs; my @saetze_datei=split(/(?<=[\.!?])\s*/,$daten); close(DATEI); # Alle Sätze durchgehen und dem Hash als Schüssel werwenden. # Als Wert ist ein Array enthalten, das die Dateinamen aufnimmt. push(@{$saetze_gefunden{$satz}},$file) for my $satz (@saetze_datei); } open (REFDAT,'>','verweis.txt') or die "Konnte 'verweis.txt' nicht öffnen ($!)\n"; open (OUTDAT,'>','out.txt') or die "Konnte 'out.txt' nicht öffnen ($!)\n"; # Den Hash durchgehen und die Werte in die Dateien schreiben. my $cnt=0; for my $satz (keys(%saetze_gefunden)) { print OUTDAT "$cnt:$satz\n"; print REFDAT "$cnt:".join(',',@{$saetze_gefunden{$satz}})."\n"; $cnt++; } close (OUTDAT); close (REFDAT);