Thanks Prabhu,

Your script works!!!!

Regards
Mazhar

On 6/29/06, Prabu <[EMAIL PROTECTED]> wrote:

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
>



Reply via email to