RE: Script Required to Check a range of IP's
- From: ryanfrantz@xxxxxxxxxxxxxxxx (Ryan Frantz)
- Date: Thu, 29 Jun 2006 13:03:29 -0400
-----Original Message-----
From: Mazhar [mailto:syedmazhar.hasan@xxxxxxxxx]
Sent: Thursday, June 29, 2006 12:51 PM
To: Ryan Frantz
Cc: Perl Beginners
Subject: Re: Script Required to Check a range of IP's
On 6/29/06, Ryan Frantz <ryanfrantz@xxxxxxxxxxxxxxxx> wrote:
-----Original Message-----
From: Mazhar [mailto:syedmazhar.hasan@xxxxxxxxx]
Sent: Thursday, June 29, 2006 11:44 AM
To: Perl Beginners
Subject: Script Required to Check a range of IP's
Hi Folks,
Howdy,
I have a requirement of writing down a script to check the range ofIP's
ingiving
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
me the correct ouptut.
################################################################
#!/usr/bin/perl
use strict;
use warnings;
use Net::Ping;
my $file_name=$ARGV[0];
You may want to check that an argument exists before proceeding.
unless ( $ARGV[0] ) {
print "No arg!\n";
exit;
}
my $line;
You don't see to use this scalar; you can remove it.
my @host_array;
open(FILE,"$file_name") || die "Not been Accessed";
On failure, '$!' gets set. Make sure you check for it:
open( FILE, "$file_name" ) or die "Problem opening file: $!\n";
To be of more help, I'd suggest that you provide some example input. Is
there one address per line? Multiple addresses per line (delimited).
while (<FILE>) {
chomp;
@host_array=$_;
}
Since you have multiple IP addresses, you need to push them into the list or else the array will only have one element.
while ( <FILE> ) {
chomp;
push @host_array, $_;
}
Also, if it were me, I'd close the file here just to be clean.
If we have some example input, then we can tell if the 'while' block is
kosher. If there are multiple IP addresses, then you'll want to 'push'
the addresses into @host_array.
ry
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: beginners-unsubscribe@xxxxxxxx
For additional commands, e-mail: beginners-help@xxxxxxxx
<http://learn.perl.org/> <http://learn.perl.org/first-response>
I am giving you all the sample input file...
11.1.1.1
111.1.1.1
1.111.1.1
1.1.2.3
All the above IP's are in a new line..
.
- Prev by Date: Re: Script Required to Check a range of IP's
- Next by Date: Re: Script Required to Check a range of IP's
- Previous by thread: Re: Script Required to Check a range of IP's
- Next by thread: RE: Script Required to Check a range of IP's
- Index(es):
Relevant Pages
|