Hallo,
ich habe das oben besprochene Problem so gelöst:
my $datei2 = $ARGV[1];
open (OUT, ">$datei2");
while(<>) {
if (/(##)([KYRILLIISCHE ZEICHENa-zA-Z0-9"-]+(\s+[KYRILLISCHE ZEICHENa-zA-Z0-9"-]+)*)(##)/) {
print OUT "$2\n";
}
}
close OUT;
Es funktioniert, aber das Programm findet nicht alle Vorkommen von den Mustern, sondern jeweils das erste in der Zeile.
Hab es dann so ausprobiert:
open (OUT, ">$datei2");
while(<>) {
s/##([KYRILLISCHE ZEICHENa-zA-Z0-9"-]+(\s+
[KYRILLISCHE ZEICHENa-zA-Z0-9"-]+)*)##//g;
print OUT "$1\n";
}
close OUT;
Auf diese Weise läuft das Programm in einer endlosen Schleife und die Ausgabe ist nicht lesbar, denn die Kodierung wird geändert.
Hat jemand eine Idee, wie das richtig funktionieren könnte?
Gruß
Mary