Aber ist es nicht verhehrend, wenn eine Datei gleichzeitig von mehreren Benutzern beschrieben wird?
Wird sie auch nicht, da du richtigerweise flock benutzt.
Um ein vereinfachtes Beispiel meines Counters zu zeigen:
open FILE, "+<counter.txt" or die "Kann counter.txt nicht öffnen: $!\n";
flock FILE, 2;
my $zahl = <FILE>;
seek FILE, 0, 0;
truncate FILE, 0;
print FILE ++$zahl;
close FILE;
Die Datei wird von einem Benutzer geöffnet, geändert, gespeichert - in der Zeit ist sie für andere Benutzer gesperrt. Diese werden in eine Art Warteschlange gereiht. Ist der erste Benutzer fertig, so wird die Datei freigegeben und der nächste darf öffnen, ändern, speichern.
Ich dachte, so läuft das mit FLOCK ...
Ich bin zwar auch nicht der größte Perl-Guru, aber ist es nicht so, dass nur der Lese,- und Schreibprozess gesperrt wird, was eigentlich auch nur die logische Schlussfolgerung des Verhaltens des Scripts sein kann?
Wie auch immer. Ich weiß aus Erfahrung, dass ein separates Öffnen und Schreiben irgendwann immer dazu führt, dass der Counter gelöscht wird.
Markus.
http://www.apostrophitis.at
Wenn ich ein toller Programmierer währe, könnte ich vieleicht sogar Packete nach einem gewissen Standart kompelieren...
Vieleicht progge ich aber auch eine tolle Gallerie, die dann hoffentlich funzt.