my $index = 1; my $satzzahl = @sort_keys_satzliste; while ($index <= $satzzahl) { # solange der satzindex die zahl der sätze nicht übersteigt while (@{$anaphernliste{$index}}) { # solange noch anaphern auf der liste des aktuellem satzes stehen my $aktuelles_pronomen = shift (@{$anaphernliste{$index}}); # shifte eine anapher my $muster = $aktuelles_pronomen; # weise $muster die aktuelle anapher zu $muster =~ s/\(.*(\d[sp]).*\)/$1/; # reduziere $muster auf 3s, 2p o.ä. print $muster; for (my $i = $index; $i > 0; $i--) { # für diesen satz und alle davor tue my @kandidatenliste; foreach my $kandidat (@{$referentenliste{$i}}) { # für jeden referenten des aktuellen satzes if ($kandidat =~ /$muster/) { # wenn $muster teil des aktuellen referenten ist push (@kandidatenliste, $kandidat); # pushe den aktuellen referenten auf @kandidatenliste } } print @kandidatenliste; # gib die liste aus } $index++; # zum nächsten satz } }