It depends on how much randomness you really need. If you
needed REALLY random numbers, I suppose you could use
Math::TrulyRandom
but that's probably overkill for anything short of cryptography.
What do you want to do with the random number exactly? You
may be better off (in the case of session IDs for example)
using a formula like (time) + (a few pseudo-random bytes) or using
the
Time::HiRes module
rather than a random number in order to guarantee uniqueness.
Using the time as part of the ID helps narrow the window of opportunity
for a duplicate number to occur.