Hi all PMs...I have the following start to a script to ping a bunch of servers on my internal network. All of the names are currently pingable on the command line, but the script always returns the fact that they don't return ping requests. What am I doing wrong?
Thanks!
#!/usr/bin/perl -w
use strict;
use Net::Ping;
# Var declaration
my ($host, $x, $res);
my $output = '';
# Servers that should be pingable at all times
my @ext_servernames = qw(
exchange
milton
border
sequel
faxserver
troll
vindex
waifer
);
sub ping_hosts {
foreach $host (@ext_servernames) {
my $p = Net::Ping->new;
my $res = $p->ping($host);
$output .= "Unknown host $host\n" unless defined $res;
if (!$res) {
$output .= "$host doesn't respond to ping requ
+ests!\n";
} else {
$output .= "$host is fine.\n";
}
}
}
ping_hosts;
# DEBUG print $res;
print $output;