in reply to What is the truth about srand()?

The wonderful thing about Perl is that we have the source code. So you can answer this question in the privacy of your own cubicle. First, let's find /dev/urandom:
$ grep /dev/urandom **/*.c util.c:4550:# define PERL_RANDOM_DEVICE "/dev/urandom"
OK, now we look in there, and we see that it just tries opening it if it can:
/* This test is an escape hatch, this symbol isn't set by Configure. * +/ #ifndef PERL_NO_DEV_RANDOM #ifndef PERL_RANDOM_DEVICE /* /dev/random isn't used by default because reads from it will blo +ck * if there isn't enough entropy available. You can compile with * PERL_RANDOM_DEVICE to it if you'd prefer Perl to block until the +re * is enough real entropy to fill the seed. */ # define PERL_RANDOM_DEVICE "/dev/urandom" #endif fd = PerlLIO_open(PERL_RANDOM_DEVICE, 0); if (fd != -1) { if (PerlLIO_read(fd, (void*)&u, sizeof u) != sizeof u) u = 0; PerlLIO_close(fd); if (u) return u; } #endif
So there's your answer. You can't know. It's not a configure constant. It just tries it, and if it fails, it doesn't use it.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.