Você está tentando abrir um arquivo. Você executa um comando assim:
open (PS, "-|", "fping 192.168.$IPrange.$IPendnum");
Eu tenho este pequeno código em uma instrução while while(<PS>)
e ele não executará e lerá a saída do código open(PS,"blabla")
.
Como resolvo isso?
#!/usr/bin/env perl
#
my $IPendnum = 1;
my $IPrange = 0;
my $START = 1;
while ($START == 1) {
print "Pinging IP : 192.168." . $IPrange . "." . $IPendnum . "\n";
open (PS, "fping 192.168." . $IPrange . "." . $IPendnum);
while(<PS>) {
chop ($_);
if (/is alive/) {
print "The following IP : 192.168." . $IPrange . "." . $IPendnum . " is online! \n";
} else {
print "The following IP : 192.168." . $IPrange . "." . $IPendnum . " is currently offline! \n";
}
}
if ($IPendnum >= 255) {
$IPrange += 1;
$IPendnum = 1;
} else {
$IPendnum += 1;
}
print "Moving to the next IP address \n";
sleep(1);
}
Tags perl