in reply to is rand() random
All Perl is doing is do some scaling, dividing the number it got from the system by the maximum the system can return, and then multiplying it by the argument you gave to rand. Hence, the argument you give to rand has little influence on the "randomness" (there might be some roundoff errors, but they should not have much influence).
If your program repeatedly generates output, I guess your systems C library is broken. Try translating the program to an equivalent C program and see what happens.