Wie erreiche ich, dass der Divis aus "Massen-speicher" entfernt wird, nicht aber aus "CD-ROM-Server" oder "Turing-Test"?
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 gib jede Ersetzung zusätzlich nach STDERR aus, so
dass sie händisch rückgängig gemacht werden kann.
Ein Lösungsansatz in Perl:
#!/usr/bin/perl -w
while (<>) {
if ($_ =~ s/(\w?\w+)-(\w+)/$1$2/g) {
print STDERR $1, "-", $2, "\n";
}
print $_;
}
Es hätte gereicht, nur jeweils einen Kleinbuchstaben vor und nach dem
Divis zu suchen und ersetzen. Dann wäre die Meldung der Ersetzungen
wesentlich schwerer lesbar.