The short explanation is that you're getting pseudorandom numbers, not random ones, because that's how these things work. 
A longer explanation is available on CPAN/doc/FMTEYEWTK/random, courtesy of Tom Phoenix.
You should also check out the Math::TrulyRandom module from 
CPAN.