Patrick Andrieu: time() unterschlägt eine Ziffer?

Beitrag lesen

Hallo Alexander!

Oder notfalls lese ich hier nach, wie es richtig geht.

Wäre diese (nur lokal getestete und dort funzende™) Lösung ok:

sub checkIfLogfile {  
  my $logfile = (@{getFilesName()})[0];  
  if (-e $logfile) {  
    write_log($logfile);  
  } else {  
    create_log($logfile);  
  }  
}  
  
sub create_log {  
  my $logfile = shift;  
  my @logdata = @{getLogData()};  
  my $count = 1;  
  open LOG,'>', $logfile or die "Kann Logdatei $logfile nicht öffnen. Grund: $^E.";  
  flock LOG, LOCK_EX or die "Sperren der Logdatei $logfile fehlgeschlagen. Grund: $^E";  
  print LOG join ($sep, @logdata),"\n";  
  close LOG;  
  #checkIfMonthsfile($count);  
}  
  
sub write_log {  
  my $logfile = shift;  
  my @logdata = @{getLogData()};  
  open LOG,'+<', $logfile or die "Kann Logdatei $logfile nicht öffnen. Grund: $^E.";  
  flock LOG, LOCK_EX or die "Sperren der Logdatei $logfile fehlgeschlagen. Grund: $^E";  
  my @lines = <LOG>;  
  seek LOG, 0, 0;  
  truncate LOG, 0;  
  print LOG join ($sep, @logdata),"\n";  
  print LOG @lines;  
  close LOG;  
  #checkIfMonthsfile($count);  
}

Viele Grüße aus Frankfurt/Main,
Patrick

--
_ - jenseits vom delirium - _

   Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?