in reply to Poor randomness with File::Temp and fork().

Here's a demonstration of several processes inheriting rand's seed. The srand solution suggested seems necessary if anything seeds rand before fork.

#!/usr/bin/perl my ($foo, %kid) = rand; for (1..10) { $kid{my $cpid = fork} = undef; defined $cpid or delete( $kid{""}), next; $cpid and next; print rand, $/; exit(0); } delete $kid{+wait} while %kid; __END__ 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209 0.292121652604209
With srand; inserted as the first thing in each child, we get, say,
0.458016411009343 0.922388048683391 0.938946679075347 0.358693821662204 0.88636225422761 0.519188953171582 0.459808857952343 0.982476360703917 0.626396972061233 0.824876680345373

After Compline,
Zaxo