Hi Monks,
Can you explain why this script hangs? Thanks for looking.#!/usr/bin/env perl use strict; use warnings; my $trials = 1000; sub bdayRuns { my $space = shift // 2**16; my $avg; TRIAL: for (1..$trials) { my %keys; for my $chance (1..$space) { my $r = int(rand($space)); if (++$keys{$r} > 1) { $avg+= $chance; next TRIAL; } } } $avg = $avg / $trials; return "Average collision out of $space: $avg : Runs: $trials\n"; } pipe(my $rh, my $wh); for (1..4) { my $pid = fork; if (!$pid) { #child print $wh " $$ - " . bdayRuns(365); exit; } } print "$_" while (<$rh>); 1 until wait == -1;
In reply to forking script hangs by trippledubs
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |