AlexBausW: Hat jemand Tipps zur Optimierung dieses (teil)scriptes?

Beitrag lesen

Hallo pehajo,

Klaus und Christian haben ja schon einiges optimiert und aufgeklärt.
Bleibt mir nur noch, einen "Einzeiler" zu schreiben, der auch das macht was Du willst ;-)

my $nutzer = "MeinName";
open (IN, "alt.txt") or die $!;
  open (OUT, ">neut.txt") or die $!;
               # map() evaluert den Code im Block für alle Elemente der Liste, und gibt den letzten "Ausdruck" zurück,
     print OUT map { s/^((?:.*?){2}$nutzer.*?)(\d*?)$/$1.($2 + 1)/e; $_; } <IN>;
               # die RegEx matched, wenn $nutzer an 3. Stelle zwischen und steht.
               # Dann wird es durch das Ergebnis der ersten Klammer ersetzt,
               # und das Ergebnis der zweiten Klammer um eins erhöht.
  close OUT;
close IN;

Ich hoffe es ist nicht zu kryptisch, aber es funktioniert imho einwandfrei ;-)

Gruß AlexBausW

P.S.: Einzeiler sind ein kleines Hobby von mir ;-)

Please visit my SELFvisitingcard @ http://www.atomic-eggs.com/selfspezial/daten/150.html