The advice in the perl manual is for avoiding correlations in the PRNG output (the tendency for an outcome to give information about successive outcomes, essentially). What you're doing just tests the bias of the PRNG. Even the most horribly implemented PRNGs are highly unlikely to have significant bias problems, no matter how frequently you call them. Generic correlations unfortunately can be difficult to characterize, and usually you're best off looking at the requirements of your application and devising a test specifically to determine if the PRNG is adequate for it. No PRNG is perfect (hence the "pseudo") so the question is always "is it good enough?" rather than "is it really random"; the answer to #2 is always "no." The answer to #1 is usually "yes," with the notable exception of some crytpography and Monte Carlo applications. With Monte Carlo, you periodically generate PRNs for 1,000s or 1,000,000s of iterations, so if the PRNG happens to have correlations with even a long period, it can be a problem. You can't really afford 1 second latencies in such cases either, and indeed my biggest beef with system PRNGs used to be their general sloth. Sometimes bitwise correlations get to be a problem too, depending on how you use the PRN.