Klaus Junge: PERL und Threadnumber (WWWBOARD.PL) ?

Beitrag lesen

Hallo,

am Freitag hat Jörk mir einen PL-Script-Entwurf
zur Verfügung gestellt und nun bin ich halt am
Vokabeln pauken. In dem Zusammenhang hab' ich auch
in das Script WWWBOARD.PL von Matt Wright geschaut.
An einer Stelle wurde ich an die verlinkten Thread-
nummern erinnert, kann die Umstände aber noch nicht
beurteilen.

Am Anfang des Scripts wird aufgerufen:

############################

Get Data Number Subroutine

sub get_number {
   open(NUMBER,"$basedir/$datafile");
   $num = <NUMBER>;
   close(NUMBER);
   if ($num == 99999)  {
      $num = "1";
   }
   else {
      $num++;
   }
}

später dann:

sub increment_num {
   open(NUM,">$basedir/$datafile") || die $!;
   print NUM "$num";
   close(NUM);
}

Ich verstehe das so, dass er sich am Anfang die
Nummer holt und erst später die neu angepasste
zurückschreibt. Zwischenzeitlich ist die Datei
DATA.TXT geschlossen (?!).

Meines Erachtens kann das nur dann gutgehen,
wenn gewährleistet wäre, dass jeweils nur eine
Instanz des Programms laufen könnte.
Von modernen Betriebssystemen würde ich aber
eigentlich schon erwarten, dass mehre Instanzen
gleichzeitig aktiviert werden können.

Wie verhält sich das in Wirklichkeit?

Klaus