#!/usr/bin/perl -w

use Thread::Pool::Simple;

use Net::Ping;

 

my $pool=Thread::Pool::Simple->new(

 min=>19,

 max=>20,

 load=>10,

 do=>[\&check],

 passid=>0,

 lifespan=>10000

);

my $i=1;

for($i=100;$i<200;$i++)

 {

   $pool->add($i);

 }

 

$pool->join();

sub check()
 {
  my $num=shift;
  my $host="192.168.3.".$num;
   my $p=Net::Ping->new();
  if($p->ping($host,2))
   {
      print "$host is ok!\n";
   }
  else{
     print "$host not ok!\n";
  }
  $p->close();
 }