Hi,
@lst = grep(/$benutzer/,@zeilen);
[...]
push(@neu,grep(!/$benutzer/,@zeilen));Zweimal die ganze Datei durchgreppen ist doch ziemlich aufwendig oder?
Naja, IMHO besser als die Liste durchzuschleifen.
Außerdem, so wie Du es machst auch ziemlich gefährlich. Was ist, wenn $benutzer in anderen Zeilen
irgendwoanders steht?
Das ist bei ihm auch nicht vorgesehen ;) da geht es auch _immer_ um $liste[2] ;) ergo ist es ein festes
Datenformat.
@lst = grep(/(.+){2}$benutzer/,@zeilen);
oder?
Wozu das?
grep(/$benutzer/,@zeilen)
durchsucht die gesamte Zeile nach einem String.
$string =~ /bla/;
durchsucht doch auch den gesamten String nach dem Pattern (in dem Fall "bla").
Und dann nochmals eine ziemlich komplexe Regex zum Counter-Erhöhen.
Komm, Komm, so komplex ist das nicht ;) und IMHO schneller als split() und dann wieder join()
Sieht zwar mächtig abgefahren aus,
nicht wirklich ;)
ob das eine Performancesteigerung bringt ist fraglich.
eben schon - es werden wirklich nur die gesuchten Zeilen bearbeitet und es wird nicht gesplittet und dann
wieder gejoint.
Nix für ungut
eh nicht ;)
mfg
CK1