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.