Hallo,
Beim ersten Lesedurchgang der Datei soll - bevor überhaupt etwas anderes gemacht wird - alle Zeileneinträge die älter als 15 Minuten sind, "Gelöscht" werden. Da ein direktes Löschen einer Zeile in Perl nicht möglich ist!?!?, überlese ich diese Zeilen, alle jüngeren merke ich mir, und schreibe sie später wieder zurück. Habe ich also berücksichtigt.
Einlesen, bzw. überlesen, und dann Schreiben ist IMHO die übliche Vorgangsweise.
my $Variable1="Erste Zeile aus Datei"; #Ist ein alter Timestamp --> time();
Bedenke, daß Deine Zeile zuerst analysiert und in die Einzelwerte zerlegt sein will. Dafür kannst Du eben chomp() (Entfernt Zeilentrennzeichen) und split() (Teilt an den Feldtrennzeichen und liefert eine Liste der ermittelten Werte) verwenden.
Na ja, in COBOL sieht das so aus:
[...]
IMHO solltest DU aber nicht probieren, COBOL-ähnliche Konstrukte mit Perl zu 'simulieren'. Es ist immer besser sich auf das Wesen und die Eigenarten einer Sprache einzulassen. Ich habe das auch schon durchgemacht, daß ich probiert habe, in einer Sprache etwas so zu formulieren, wie ich es in einer anderen gewohnt war. Im Normalfall kommen dann irgendwelche absonderlichen Dinge heraus, die im betsen Falle gerade noch funktionieren, von Eleganz bzw. Performance ist dann wiet und breit nichts mehr zu sehen.
Habe ich mir auch schon überlegt :S Wie groß aber ist die Wahrscheinlichkeit, dass innerhalb von 15 Minuten jemand auflegt, ein anderer sich wieder einwählt, genau des ersten Mann IP-Adresse bekommt, zufällig auf meine Homepage geht, und zufällig in mein Gästebuch schreiben möchte :S Bis diese ganzen Zufälle eintreten, ist außerdem schon wahrscheinlich so viel Zeit vergangen, dass die 15 Minuten vorbei sind.
Zugegeben gering, aber man sollte sich dessen vorher schon einmal bewußt sein.
Stell dir folgenden Zeitablauf vor:
10:00 Uhr: Er schreibt in mein Gästebuch
10:01 Uhr: Er betrachtet seinen schönen Eintrag
10:02 Uhr: Er betrachtet ihn immer noch
10:05 Uhr: Er verlässt meine Homepage
10:06 Uhr: Jetzt hat er auch die anderen 20 Browserfenster geschlossen und legt auf, nahezu zeitgleich, nämlich um
10:06 Uhr: Zweiter User wählt sich ein, bekommt die IP-Adresse des ersten Users
10:07 Uhr: Ganz zufällig gibt auch diese Uhser die URL zu meiner HP ein
10:08 Uhr: Er studiert meine HP
10:10 Uhr: Er liest Gästebucheinträge
10:11 Uhr: Er möchte auch einen GB-Eintrag schreiben :S *arg*
Das wird anscheinend ein Gästebuch für eine lokale NOMAAM-Gruppe;-)
Ansonsten "mehrere Besucher mit der gleichen IP"!? Das ginge nur noch über ein Firmennetzwerk. Na ich will mal nicht hoffen, dass 300 Mitarbeiter zeitgleich alle in mein Gästebuch schreiben. *lol* Hilfä!!!
Nicht nur Firmen benutzen HTTP-Proxies, auch diverse Anbieter von Internetzugängen (auch größere). Auch hier gehts hauptsächlich nur darum, es zu wissen.
Grüße
Klaus