xNeTworKx: Datei gleichzeitig öffnen und schreiben ?

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;
}