Thread Counter Problem (8 answers)
Opened by perl_maniac at 2003-09-24 13:24

perl_maniac
 2003-09-24 13:24
#4578 #4578
User since
2003-09-13
4 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe mir einen kleinen Counter gebastelt, der über img-Tags in die Seite eingebunden wird. Er funktioniert meistens auch einwandfrei, ab und zu jedoch tritt irgendein Fehler auf und er beginnt wieder bei Null zu zählen. Es wird einfach eine Zahl aus der einer Textdatei gelesen, diese ausgegeben, inkrementiert und wieder in die Textdatei geschrieben. Irgendwo muss aber ein Fehler sein, weil auf einmal Null ausgegeben wird und dann 1 in der Datei steht. Ich kann mir aber nicht erklären wo dieser Fehler ist.
Hier mal die relevanten Stellen des Quellcodes:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#Datei mit dem Zählerstand öffnen
open(COUNT,"<$countfile") || die "Konnte Zählerdatei nicht öffnen";
flock(COUNT,2);
#Zählstand in Variable $count einlesen
$count=<COUNT>;
close(COUNT);

#Ich habe festgestellt, dass in der Variablen einige überflüssige Leerzeichen enthalten sind, die die Anzahl der Stellen der Zahl verfälschen würden, daher entferne ich diese
$count=~s/\s//g;
#Zahlen aufsplitten
my @zahlen=split(//,$count);
...

#erhöhen der Zahl und in Datei schreiben
#Zähler erhöhen;
$count++;
#Datei zum schreiben öffnen
open(COUNT,">$countfile") || die "Konnte Zählerdatei nicht öffnen";
#exklusives Zugriffsrecht setzen
flock(COUNT,2);
print COUNT $count;
close(COUNT);
...



Meine Frage ist nun, ob irgend jemand eine Ahnung hat, wo hier ein Problem auftreten könnte? Meiner Meinung nach muss irgendwo im Leseprozess der Fehler auftreten, die Variable $count bleibt unintialisiert und wird dann auf 1 inkrementiert.
Vielleicht kann mir ja jemand helfen...

MfG

View full thread Counter Problem