Beispiel: Bindestriche tilgen

Ein Text wurde mit harten Trennstrichen in einer Datei gespeichert. Diese harten Trennstriche sind nun zu eliminieren.

Wie erreiche ich, dass der Divis aus "Sattelta-sche" entfernt wird, nicht aber aus "IBA-Finale" oder "CDU-regiert"?

Wichtigster Hinweis sind die Kleinbuchstaben, mit denen der Teil vor dem Strich endet und der nächste beginnt. Auch wie beim vorherigen Beispiel gilt aber: Eindeutigkeit gibt es nicht in der natürlichen Sprache: "Nordrhein-westfälische" soll nicht "korrigiert" werden. Daher leite jede Ersetzung nach STDERR um, so dass sie händisch rückgängig gemacht werden kann.

Ein Lösungsansatz in Perl:

#!/usr/bin/perl -w

while (<>) {
    if ($_ =~ s/([A-ZÄÖÜ]?[a-zäöüß]+)-([a-zäöüß]+)/$1$2/g) {
	print STDERR $1, "-", $2, "\n";
    }
    print $_;
}

Johannes Hüsing