Hello,

Hope this is what you need

Input File --- test.txt
172.16.1.194
172.16.1.20
172.16.1.200
172.16.1.34

Program to check active or not -- pingpro.pl

#!/usr/bin/perl

use strict;
use warnings;
use Net::Ping;

my $file_name=$ARGV[0];
my $line;
my @host_array;
open(FILE,"$file_name") || die "Not been Accessed" ;
@host_array=<FILE>;
close(FILE);
my $p = Net::Ping->new("icmp");
foreach my $host(@host_array)
  {
      if($p->ping($host, 2))
      {
       chomp($host);
       print "$host is alive.\n";
      }
      else
       {
       chomp($host);
       print "$host not reachable.\n";
       }
      sleep(1);
  }
$p->close();
close (FILE);

How to run -- perl pingpro.pl test.txt

Output
172.16.1.194 is alive.
172.16.1.20 is alive.
172.16.1.200 is alive.
172.16.1.34 not reachable.

--
Prabu.M.A
When I was born I was so surprised
        I didnt talk for a period and half
                                 -Gracie Allen


Mazhar wrote:
Hi Folks,

I have a requirement of writing down a script to check the range of IP's in
a text file and display them which all are active and not active.

I have written down the below and needs your help because it is not giving
me the correct ouptut.

################################################################
#!/usr/bin/perl

use strict;
use warnings;
use Net::Ping;

my $file_name=$ARGV[0];
my $line;
my @host_array;

open(FILE,"$file_name") || die "Not been Accessed";

while (<FILE>) {
 chomp;
 @host_array=$_;
}

my $p = Net::Ping->new();
foreach my $host (@host_array)
   {
       print "$host is ";
       print "NOT " unless $p->ping($host, 2);
       print "reachable.\n";
       sleep(1);
   }
$p->close();

close (FILE);

###########################################################

Needs your help on the above

Regards
Mazhar




--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to