#!/usr/bin/perl -w use strict; use Parallel::ForkManager; my $hosts2ping = "hosts2ping.txt"; my @addresses = (); open (SRC, "<$hosts2ping"); while () { chomp $_; push (@addresses, $_); } my $pm = new Parallel::ForkManager(10); foreach my $host (@addresses) { $pm->start and next; system("ping -n 1 -4 $host > c:\\tmp\\$host"); $pm->finish; } $pm->wait_all_children;