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.