Datei gleichzeitig öffnen und schreiben ?
xNeTworKx
- perl
Hallo,
ich will eine Datei gleichzeitig zum Lesen und Schreiben öffnen, ich habe mir das aus einem Buch abgeschaut, da ich nicht extra immer die Datei öffnen - lesen ,öffnen - schreiben will. In diesem Buch wird +>> und +> verwendet. Dummerweise funktioniert das bei mir nicht. Im folgenden Beispiel wird der Inhalt der Datei immer gelöscht. Kann mir jemand sagen wie das richtig funktioniert ?
(Habs auch schon mit +>> probiert. Dabei verändert sich die Datei aber überhaupt nicht)
sub savereply {
my $inhalt;
if ($email eq "") {
$email = '----';
}
if ($hpadresse eq "" || $hpadresse eq 'http://') {
$hpadresse = '----';
}
$posting = $posting .'.txt';
my $unixzeit = time;
open(DB,"+>messages/$posting") or die "Cant open Database : $!\n";
flock DB, 2;
while (<DB>) {
chomp;
$inhalt .= $_
}
if ($inhalt =~ /<unixzeit>\d+?</unixzeit>/) {
$inhalt =~ s/$inhalt/<unixzeit>$unixzeit</unixzeit>/;
}
print DB "$inhalt";
print DB "\n";
print DB "<reply>\n";
print DB "$ip\n";
print DB "<zeit>$zeit</zeit>\n";
print DB "<topic>$topic</topic>\n";
print DB "<name>$name</name>\n";
print DB "<email>$email</email>\n";
print DB "<hpadresse>$hpadresse</hpadresse>\n";
print DB "<text>$text</text>\n";
print DB "</reply>";
close DB;
}