in reply to testing for ip resolutions of a hostname

UPDATE: Oops ... slip 'o the mouse.

Do some error checking in your lookups. Makes life much simpler, IMHO.

#!/usr/bin/perl -w use strict; use Socket; my $host = "noresolve"; my $i = gethostbyname($host) or die "Failure to resolve $host: $!\n"; my $ip = inet_ntoa($i) or die "Failure to resolve $host: $!\n";

HTH
--
idnopheq
Apply yourself to new problems without preparation, develop confidence in your ability to to meet situations as they arrise.

Replies are listed 'Best First'.
Re: Re: testing for ip resolutions of a hostname
by c (Hermit) on Aug 28, 2001 at 22:01 UTC
    I can't use the die statements since those will force the script to exit. I want it to continue on and perform other actions based on whether or not the hostname is able to resolve to an ip address.

    humbly -c

      Ah! The lightbulb dimly illuminates!

      Howzabout wrapping the lookup functions in a sub and replacing the 'die's with returns. Untested, BTW ... hopefully no typos ...

      my $ip = lookup ( $host ) or warn "Cannot resolve $host!\n"; sub lookup { my $host = shift; my $i = gethostbyname($host) or return undef; my $ip = inet_ntoa($i) or return undef; return $ip; }

      HTH
      --
      idnopheq
      Apply yourself to new problems without preparation, develop confidence in your ability to to meet situations as they arrise.