Abend zusammen
Folgender Code bereitet mir Schwierigkeiten:
-------------------------------------------------------------------------
open(BOOKENTRY, "<public/guest.csv");
flock(BOOKENTRY, LOCK_EX);
while(! eof(BOOKENTRY)){
my $zeile = <BOOKENTRY>;
my ($DBName, $DBText1, $DBText2, $DBText3, $DBIp, $DBTag, $DBMonat, $DBJahr, $DBStunden, $DBMinuten, $DBSekunden) = split(/;/,$zeile);
push (@GuestData, $zeile);
}
close(BOOKENTRY);
-------------------------------------------------------------------------
Bis hierhin scheint alles zu funktionieren. Öffnen, auslesen, in $zeile packen, aufsplitten, komplette Zeile mit push in das Array @GuestData packen, File schliefßen - fertig.
-------------------------------------------------------------------------
open(BOOKENTRY, ">public/guest.csv");
flock(BOOKENTRY, LOCK_EX);
print BOOKENTRY $name,';',$text1,';',$text2,';',$text3,';',$ENV {'REMOTE_ADDR'},';',$Monatstag,';',$Monat,';',$Jahr,';',$Stunden,';',$Minuten,';',$Sekunden;
while(! eof(@GuestData)){
foreach $GuestOutput (@GuestData, $zeile) {
print BOOKENTRY $GuestOutput;
}
}
close(BOOKENTRY);
-------------------------------------------------------------------------
Hier gibt es Probleme: AUfmachen zum Schreiben - ok. Cgi-Skalare (Clientangaben) in geöffnete Datei schreiben - ok.
while mit eof (end of File) geht wahrscheinlich nicht, da kein File sondern Array. While eof (@GuestData) geht auch nicht.
Wie kann ich ein eingelesenes Array (@GuestData) zeilenweise auslesen und schreiben - wenns geht mit print- bis es leer ist?
Gruß Gary