n.d. parker: Hat jemand Tipps zur Optimierung dieses (teil)scriptes?

Beitrag lesen

hi ho

print OUT map { s/^((?:.*?){2}$nutzer(?:.*?){2})(\d*?)$/$1.($2 + 1)/e; $_; } <IN>;
Die Fragezeichen hinter * kannst Du imho auch weglassen, da afaik Perl die an den vorgegebenen Stellen matchen wird (Versuch, immer einen Treffer zu finden, hat imho Vorrang vor der Gierigkeit von *).

ja, aber es wird ne menge backtracking erzeugt, wenn, dann ist es besser so:

print OUT map { s/^((?:[^|]*|){2}$nutzer|(?:[^|]*|){2})(\d*?)$/$1.($2 + 1)/e; $_; } <IN>;

(ich hab die pipes fuers archiv auch gleich mal eben maskiert... :-)

cua

n.d.p.