srand Zufallsgenerator
roger
- cgi
warum krieg ich immer die gleichen zahlen beim aufruf von:
$t = &zufall(0,$m-1);
$u = &zufall(0,$m-1);
sub zufall
{
srand();
return int(rand($_[1]-$_[0]+1))+$_[0];
}
$m wird im script als zahl definiert
ich möchte aber das $t und $u unterschiedlich sind. wie geht das?
kann mir einer helfen?
hi!
warum krieg ich immer die gleichen zahlen beim aufruf von:
Wer lesen kann ist klar im Vorteil:
perldoc -f srand
=== cut ===
Do *not* call srand' multiple times in your program unless you know exactly what you're doing and why you're doing it. The point of the function is to "seed" the
rand' function so that
rand' can produce a different sequence each time you run your program. Just do it once at the top of your program, or you \*won't\* get random numbers out of
rand'!
=== cut ===
bye, Frank!
ganz recht, srand initialisiert den zufallsgenerator. zusätzlich solltest du aber versuchen, die
Initialisierungsfunktion srand mit einer Halbwegs zufaelligen zahl aufzurufen, z. B. so:
srand(time ^ $$ ^ unpack "%32L*", /usr/binps /usr/bin/gzip
);
dein code:
srand(time ^ $$ ^ unpack "%32L*",
/usr/binps /usr/bin/gzip
);
$t = &zufall(0,$m-1);
$u = &zufall(0,$m-1);sub zufall
{
»» return int(rand($_[1]-$_[0]+1))+$_[0];
}