#! /usr/bin/perl use strict; use warnings; use Parallel::ForkManager; my $pm = new Parallel::ForkManager(20); foreach my $ip (0..255) { my $ip_add = sprintf("202.1.150.%s",$ip); #print $ip_add; my $pid = $pm->start and next; my @val = `nmap -sT $ip_add | grep http`; #print @val; if (@val) { foreach (@val) { my $test = (split(/\s+/,$_))[1]; if ($test =~ m/open/) { print "Web Server at $ip_add is running.\n"; last; } } } else { print "Web Server at $ip_add is Down.\n"; } $pm->finish; } $pm->wait_all_children; exit 0;