Hi nochmal!
Eigentlich wollte ich mit der Prozess-ID Sache den Aufwand DRASTISCH reduzieren. Deine Lösung nutzt aber zumindest immer noch flock ...
nein, nur das FileHandle heißt so. Ein flock() ist aber nicht mehr dabei.
<<bäng, reingefallen>> Da hab ich wohl mal wieder nicht genau hingeschaut ;-)
Ich dachte eher an so etwas wie:
open(NUMMER, "$$.dummy");
print NUMMER, 'blablabla';
close NUMMER;$zahl = 42;
until (rename("$$.dummy", "$zahl.log")) {$zahl ++}Bin mir grad' aber nicht sicher, ob rename wirklich so reagiert, wie wir das brauchen ...
Halte ich nicht für besonders sinnvoll. Zunächst einmal würde ich das OS nicht mit dauernden Fehlermeldungen belasten... also mit while(-e) arbeiten ;-) Vor allem aber funktioniert dies ausschließlich bei einem System, das fortlaufend Dateien der Form "xyz.log" erstellt, also nur bei z.B. Foren oder Guestbooks. Das Flock-Problem gibt es aber auch bei Scripts, die nur auf eine einzige Datei zugreifen - und sei es nur ein Counter!
Nun ist es aber an Dir, grad nicht aufgepasst zu haben. Ich ging jedenfalls davon aus, daß die Startfrage in diesem thread sich darum drehte, solche fortlaufenden Dateien zu erzeugen. Die Fehlermeldungen wären ja auch sehr minimal, da der Startwert (42) ja mit Hilfe eines Blickes in die Directory entsprechend gesetzt werden kann ... ist also nur eine spezial-Lösung!
ciao,
Jörk
Jedenfalls habe ich jetzt gelernt, daß die Prozess-ID in $$ gespeichert ist, und daß ich doch öfter mal perldoc perlvar durchlesen sollte ;-) Da gibt es doch mehr Variablen, als ich ursprünglich dachte...
Cheatah