On Thu, 2009-01-01 at 04:38 -0800, Duck wrote:
> I am writing a script to ping several systems and then to run nslookup
> on those that fail the ping test.  How do I capture the exit status of
> the system commands.  I tried something like:
> 
> $status = system("nslookup xxx.xxx.xxx.xxx");
> print "$status";
> 
> but this seems to print "0" every time whether the nslookup found the
> IP address or not.
> 
> 

As far as I can tell, nslookup always returns 0.  You're going to have
to determine if it works by the response.

#!/usr/bin/perl

use strict;
use warnings;

open my $ns_fh, '-|', "nslookup xxx.xxx.xxx.xxx" or die "could not open to 
nslookup: $!\n";
while( <$ns_fh> ){
  # ...
}
close $ns_fh;


-- 
Just my 0.00000002 million dollars worth,
  Shawn

Programming is as much about organization and communication as it is about 
coding.


-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to