Thread Den richtigen Eintrag in einer Datei finden: Ich kotz gleich...
(12 answers)
Opened by cbxk1xg at 2003-10-31 16:51
Das Problem liegt in der foreach-Schleife und in der Art, die Variable $OptIDStatus zu setzen, denn sie wird in jedem Durchgang gesetzt, und damit ist ja wohl klar, daß sie letztendlich das enthalten wird, was im letzten Durchgang beim Vergleich herauskommt. Dadurch erweckt es den Anschein, als würde die ersten Zeilen gar nicht beachtet werden.
Es ist also ein logisches Problem, kein Problem der Programmiersprache, bei PHP würde da genau das selbe passieren. Probier's mal so: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 print &CheckTempDB('temp.var',1,'bla@laber.de]bla@laber.de','3216548958'); sub CheckTempDB { my ($datei,$flock,$linkmail,$linkid) = @_; # Templist öffnen und einlesen open (DATEI,$datei) || die 'Unable to open the templist file for reading'; flock (DATEI,2) if $flock; chomp (my @zeilen = <DATEI>); close (DATEI); # Templist sortieren und auf Strings rausfiltern foreach my $zeile (@zeilen) { my ($mail,$id) = split(/\|/,$zeile); return 'ok' if ($mail eq $linkmail) && ($id eq $linkid); } return 'error'; } (Ich mag keine Variablen in Groß- und Kleinschreibung! ;)) |