MudGuard: / Perl - Datei lesen und schreiben tut nicht wie es soll.

Beitrag lesen

Hi,

sub get_number {
   open(NUMBER,"+<$basedir/$datafile");
   flock(NUMBER, 2);
   $num = <NUMBER>;
   if ($num == 999999 || $num !~ /^\d+$/)  {
      $num = "10000";
   }
   else {
      $num++;
   }

Auf welcher POSITION steht der Filepointer zu diesem Zeitpunkt?
Warum wird also nicht überschrieben, sondern angehängt?
Was mußt Du also mit dem Filepointer machen?
Kleiner Hinweis: perldoc -f seek

print NUMBER $num;
   flock(NUMBER, 8);
   close(NUMBER);
}

cu,
Andreas

--
Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.