#!/usr/bin/perl -w use strict; use Parallel::ForkManager; my $hosts2ping = "hosts2ping.txt"; my @addresses = (); # besserer weg zum lesen der Liste: { open(my $fh, '<', $hosts2ping) or die("ERROR open $hosts2ping ($!)\n"); @addresses = <$fh>; # chomp kann auch mit Arrays umgehen chomp @addresses; close($fh); } my $pm = new Parallel::ForkManager(10); my %used; foreach my $host (@addresses) { # wenn der Host schon mal gefunden wurde # weiter zum nächsten next if $used{$host}++; $pm->start and next; system("ping -n 1 -4 $host > c:\\tmp\\$host"); $pm->finish; } $pm->wait_all_children;