Hallo zusammen,
ich muß eine Datei einlesen, prüfen, ob darin etwas bestimmtes steht, evt. die Daten ändern und nach Änderungen die Datei wieder speichern.
Dabei habe ich folgendes Problem:
Laut http://selfhtml.koenigreich/cgiperl/funktionen/einausgabe.htm#open kann ich mit "+>$DATEI" die Datei zum Lesen und schreiben öffnen. Wenn ich dies so mache, wird die Datei jedoch komplett überschrieben. Das möchte ich so nicht.
Also dachte ich, daß ich mit "+>>$Datei" das erreiche. Perl liefert mir keinen Fehler, die Daten werden aber grundsätzlich eingetragen. Das möchte ich so auch nicht.
Hier der entsprechende Code-Abschnitt:
open(NAMES, "+>>$DATEI") or die "$!";
my @ZEILEN = <NAMES>;
my $FOUND = 0;
foreach my $ZEILE (@ZEILEN) {
if (substr($ZEILE, 0, length($DATEN)) != 0) {
$FOUND = $FOUND + 1;
}
}
if ($FOUND == 0) {
push(@ZEILEN, "$DATEN\n");
print NAMES @ZEILEN;
print "<p>Fertig.</p>\n";
} else {
print "<p>$DATEN existiert bereits in der Liste. Der Eintrag wurde <strong>nicht</strong> hinzugefügt</p>\n";
}
close(NAMES);
Was mache ich falsch?
Wie mache ich es richtig?
Ich bedanke mich im Voraus
Helge Rex