Hallo Siechfred,
wieder mal habe ich ein kleines Perl-Problem. Ich möchte
eine Datei öffnen, einlesen, prüfen und dann bei Bedarf
eine neue Zeile anhängen. Nun steht hier
http://www.perldoc.com/perl5.6.1/pod/func/open.html,
dass man "+" und ">>" miteinander kombinieren kann. Dies
würde nun bedeuten, dass die Datei zum Lesen und zum
Schreiben geöffnet wird, wobei der neue an den alten
Inhalt angehängt wird.
Korrekt.
Nun habe ich das mal versucht, und es hat nicht
funktioniert:
Kein Wunder ;)
open(LOG, "+>>$datadir/$logfile") or die $!;
Hier ist der Dateizeiger bereits ganz am Ende der Datei.
my @logentries = <LOG>;
Und hier versuchst du, vom Ende an noch weiter zu lesen.
Besser waere also:
open LOG,'+<'.$datadir.'/'.$logfile or die $!;
my @entries = <LOG>; # hiermit wird der Dateizeiger ans Ende der Datei gesetzt
foreach(@entries) {
print LOG "zeile\n" if dasunddas;
}
close LOG;
Gruesse,
CK
http://cforum.teamone.de/
http://wishlist.tetekum.de/
If God had meant for us to be in the Army, we would have been born with green, baggy skin.