Aqua: $foo = $bar; alten Wert kopieren oder execute + Copy ?

Hallo!

$foo = time();
$bar = $foo;

2 Möglichkeiten - Welche Stimmt?

  1. Der Variable $foo wird die aktuelle time() zugewiesen
       und bleibt unveraendert in foo.

$bar kopiert den Wert aus $foo der in $foo bereits
   vom ursprünglichen Aufruf von time()  gespeichert ist,
   und hat nun den selben Wert in $bar ebenfalls.

  1. Der Variable $foo wird die aktuelle time() zugewiesen.

$bar soll nun das gleiche enthalten wie $foo.
   Daher wird $foo nochmals "angeguckt" was drin steht,
   um es $bar zuzuweisen,  dabei führt PERL die variable $foo
   nochmals aus und es entsteht wieder ein neuer time(); wert.

==

So könnten theoretisch $foo und $bar in einem bösen Fall
   um eine millisekunde abweichende Werte haben ...!?

=============================

oder gibt es noch eine 3. Möglichkeit?

Ich blick es nicht ganz,
aber ich weiß,  dass es SEEEHR wichtig ist,
dass $foo und $bar  den selben Wert enthalten.

Zusatzfrage

Was ist wenn ich ganz oben im Script folgendes mache:

$zeit = time();
print $zeit."<br>\n";

und dann passiert ur viel im Script also Dateien öffnen und schreiben
und sachen ausgeben und am letzten ende des Scriptes steht wieder

print $zeit."<br>\n";

Wird dann der Wert time() den Zeit beinhaltet neu festgelegt
oder der alte kopiert?

Danke!
Aqua

  1. Hallo!

    hi Aqua,

    damit du solche schwierigen Sachen nicht selber ausprobieren musst und dir somit eines von denen Lernwegen versperrst die für einen Lernenden die allerbesten Erkenntnisse bringen würden, hier ein paar Tipps:

    1. eine Variable wird nicht ausgeführt sondern zugewiesen
    2. time() liefert die Sekunden, nicht Millisekunden. Es sei denn du hast das Modul Time::HighRes vorher eingebunden.

    Schönen Tag noch , Rolf

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. Hallo Erwin,

      1. time() liefert die Sekunden, nicht Millisekunden. Es sei denn
        du hast das Modul Time::HighRes vorher eingebunden.

      Und selbst dann liefert time() noch Sekunden und nicht Millisekunden.
      Dafür ist es gettimeofday() zuständig.

      Grüße,
       CK

      --
      Sein oder nicht sein, das ist hier die Frage!