Hallo,
Hi,
mit srand kann man Zufallszahlen erzeugen. Die Funktion wird (ohne Argument) mit dem Zeitwert 1.1.1970 (richtig?) initialisiert. Nun, wenn ich z.B. 20 Zufallszahlen nacheinander erzeugen will, wie kann ich dafür sorgen, daß alle 20 Zahlen auch unterschiedlich sind?
Ich hab's mit einer while-Schleife versucht, um die Abarbeitung des Skriptes zu verlangsamen und damit auch unterschiedliche Zahlen zu bekommen aber geht's nicht eleganter?
ich hab‚s mal damit probiert (Linux, Perl 5.005):
----snip--------
#!/usr/bin/perl
aus O‚Reilly "Programmieren mit Perl" (S. 233 und 211)
srand(time ^ $$ ^ unpack "%32L", 'ps axww gzip');
print rand()."\n";
print rand()."\n";
print rand()."\n";
print rand()."\n";
-----snap------
Das ergibt bei mir lauter unterschiedliche Fließkommazahlen zwischen 0 und 1.
Gruß
Daniel
Gruß Jörg