my $prox = scalar(@targets) -1; my ($i, $ret, $pid, @pids); for ($i = 0; $i <= $prox; $i++) { if ($pid=fork) { push @pids, $pid; waitpid($pid,0); } elsif (defined $pid) { my $next = @targets[${i}]; $ret = &check_status($next); if ($ret) { $avail ++; } exit; } } my $success = ( $avail / scalar(@targets) ) * 100; $success = sprintf('%.2f',$uptime); print "$success% successful\n";