Hallo,
srand(time) und time liefern in der selben Sekunde immer die selben Werte.
Du verwendest die falsche Funktion, nimm rand().
Näheres dazu:
http://www.perldoc.com/perl5.6.1/pod/func/rand.html
http://www.perldoc.com/perl5.6.1/pod/func/srand.html
Grüße
Klaus