Initialisierung des Zufallsgenerators unter Perl

Tach zusammen!

srand (time ^ $$ ^ unpack "%L\*", `/bin/ps axww /usr/bin/gzip`);

Diese Zeile hab ich hier irgendwann mal im Forum aufgeschnappt.

Das Problem ist, dass ich auf meinem Server nen Fehler bekomm, wenn ich Sie ausführen will.

Kann mir jemand die Zeile erklären und vielleicht einen Alternativvorschlag machen?
Also bis jetzt weiß ich das die Zeit (time) mit der Prozess-ID des Perl-Interpreters ($$) expotenziert wird, aber was bedeutet der rest (unpack „%L*“,´\bin/ps…)

Vielen Dank für Eure Hilfe!!

Benny

srand (time ^ $$ ^ unpack „%L*“, /bin/ps axww /usr/bin/gzip);

Kann mir jemand die Zeile erklären und vielleicht einen
Alternativvorschlag machen?

Zeit in Sec seit 1.1.1970 GMT wird ver-xor-ed mit der eigenen Prozess-Id und dann ver-xor-ed mit dem „entpackten“ Wert des Systemaufrufs „/bin/ps axww /usr/bin/gzip“.
Es schlägt bei Dir vermutlich fehl, weil Du nicht auf einen Unix System bist und ps ein Unix-Kommando ist.

Workaround: Seit Perl 5 wird srand nicht mehr benötigt
siehe perldoc -f srand

Gruss Klaus