Torwächter: Datei sicher ändern

Hallo zusammen,

könnt ihr mir in Perl (Datei-Datenbank) helfen:

ich möchte eine Datei an einer bestimmten Stelle umschreiben (eben eine Datenbank) und mache es wie unten gezeigt.

Aber bei mehreren Zugriffen wird die Datei oft nicht zuende geschrieben, was verherende Folgen hat.

Wie kann ich eine Datei sicher ändern ?

Greetings
Torwächter

open (USERDAT, "$userlog") || Dateierror();
        @ALLUSER = <USERDAT>;
        close (USERDAT);
        #.:.:.:.:.:.:.
        open (USERDAT, ">$userlog") || Dateierror();
        foreach $einuser (@ALLUSER)
        { ($usernrlist,$usernamelist) = split(/|/, $einuser);
                if($xys eq $usernamelist)
                {
                        $optionbNEW = $optionb + 1;

print USERDAT "$usernrlist|$usernamelist";
                }
                else
                {
                        print USERDAT "$einuser";
                }
        }
        close (USERDAT);

  1. Am besten geht das mir flock. eine Referennz dazu findest du hier:
    http://selfhtml.teamone.de/cgiperl/funktionen/einausgabe.htm#flock