Hi Beat
wenn du
open($fh,'<',$file)
verwendest mit der Absicht zum späteren
open($fh,'>',$file)brauchst du natürlich eine exklusive Lock.
OK. Wenn ich aber die erste Öffnung wieder schliesse:
------------------------------------------
open(LASTCONTROL, "<public/guest.csv");
flock(LASTCONTROL, LOCK_SH);
[...]
close(LASTCONTROL);
------------------------------------------
und später mit einem neuen Handle öffne:
------------------------------------------
open(BOOKENTRY, ">public/guest.csv");
flock(BOOKENTRY, LOCK_EX);
[...]
close(BOOKENTRY);
------------------------------------------
dann kann die Kontrollöffnung "LASTCONTROL" für den letzten Gästebucheintrag zum IP_Vergleich doch getrost im SH-Modus statt finden - oder ? Nur beim Schreiben ist EX- Pflicht?
Eine letzte Frage für heute sei mir hoffentlich noch gestattet:
Es geht um das Öffnen der Datei für einen Gästebucheintrag. Wie stelle ich es an, daß wenn die Datei offen ist, die 11 Skalarwerte (Variablen) an den "Anfang" der Datei geschrieben werden. Also obendrauf. Das also immer der neueste Eintrag beim Öffnen der Datei zuerst gelesen wird.
Anhängen ging damals in Basic mit ich glaube "append" oder so ähnlich. Ich bräuchte aber das Gegenteil von ">>".
Das Script, welches später das Gästebuch ausliest soll ebenfalss zuerst vom obersten (neuesten) Eintrag zum älteren lesen. Ergo muss der neue Datensatz obendrauf!
Wenn das mit dem "Obendrauf" nicht geht, muss ich den Lesezeiger mit Seek? auf das Dateiende stellen.
Bei (LASTCONTROL) ist das kein Problem. Nur das Gästebuch auslesen wird dann schwierig, da der Gästebuchleser dann von den "Alten" Einträgen im Browser herunterscrollen muss, um die neusten Einträge zu sehen. Ich hätte aber die Neuen Einträge lieber oben.
Gruß und fast schon Gute Nacht Gary...
Habe morgen Frühschicht - *gähn*
Gruß Gary