On 8/31/07, Rodrigo Tavares <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I'm doing a script, it run a ping in many computers
> and  create a log file.
>
> I need search in log file the word "Destination Host
> Unreachable". So, I have to take below line. After
> using regular expressions taking ferrari.lab and print
> "The host is down !".
>
> example:
> PING ferrari.lab (192.168.1.152) 56(84) bytes of data.
> From goal.lab (192.168.1.7) icmp_seq=2 Destination
> Host Unreachable
>
> How I do it ?
>
> Begin of script, wih array with host names:
>
> print "Testing the computers....\n";
> for (my $i=0 ; $i < 5 ; $i++)
>  {
>    system "ping -c 4 $hosts[$i] >> hosts.txt";
>  }
>

Snip if you have an array of hosts then you should say

for my $host (@host) {
    system "ping -c 4 $hosts >> hosts.txt";
}

instead, but really, you shouldn't even be using system:

#!/usr/bin/perl

use strict;
use warnings;

use Net::Ping;

my @hosts = @ARGV;
my $pinger = Net::Ping->new;

for my $host (@host) {
    print "$host is down\n" unless $pinger->ping($host);
}

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


Reply via email to