Matthias: Kann mal einer gucken, ob ich das flock richtig gesetzt hab?

hi! ich habe ein skript verändert: Ich wollte das die dateien mit file locking geöffnet werden. kann man einer gucken, im folgenden code, ob ich das richtig gemacht hab?? ich kenn mich nämlich überhaupt nicht aus! :-)
Hoffe mir kann einer helfen!

Ciao

Hier der Codeauszug:

sub poll_it {

my @lines ;
my @datalines ;
my @poll_set ;
my $line ;
my $dataline ;
my $ip ;
my $counter ;
my %FM=&parse_form() ;

if($FM{'poll'}) {

if (!(-e "$ip\_file")) {  

flock(DAT,2) if ($lock==1) ;
  open (DAT , "> $ip_file") ;
  close(DAT) ;
}

open (DAT , "< $ip\_file")  die "Kann Datenfile ($dat\_file) nicht zum Lesen öffnen" ;  
flock(DAT,2) if ($lock==1) ;  

while($ip=<DAT>) {
  chop($ip) ;
  if ($ip eq "$ENV{'REMOTE_ADDR'}"){
   $ip_vorhanden=1 ;
   last ;
  }
}
close(DAT) ;

if ($ip\_vorhanden==0) {  

open (DATA , "< $dat_file") die "Kann Datenfile ($dat_file) nicht zum Lesen öffnen" ;
                flock(DATA,2) if ($lock==1) ;
  @datalines = <DATA> ;
  close(DATA) ;

open (DATA , "> $dat_file") die "Kann Datenfile ($dat_file) nicht zum Schreiben öffnen" ;
                flock(DATA,2) if ($lock==1) ;
  foreach $dataline (@datalines) {

@poll_set = split(// , $dataline) ;
   $poll_set[0]++ if ($poll_set[1] eq $FM{'poll'}) ;
   print DATA "$poll_set[0]$poll_set[1]\n" ;
  }

close(DATA) ;

open (DAT , "< $ip_file") die "Kann Datenfile ($dat_file) nicht zum Lesen öffnen" ;
                flock(DAT,2) if ($lock==1) ;
  @lines = <DAT> ;
  close(DAT) ;

while ($#lines >= 99){
    shift @lines;
  }
  push (@lines,"$ENV{'REMOTE_ADDR'}\n");
  open(DAT,">$ip_file");
  flock(DAT,2) if ($lock==1) ;
  print (DAT @lines);
  close(DAT);