perldoc -q find.+?my.+?ip
Found in /perl58/lib/pod/perlfaq9.pod
How do I find out my hostname/domainname/IP address?
The normal way to find your own hostname is to call the `hostname`
program. While sometimes expedient, this has some problems, such a
+s not
knowing whether you've got the canonical name or not. It's one of
+those
tradeoffs of convenience versus portability.
The Sys::Hostname module (part of the standard perl distribution)
+will
give you the hostname after which you can find out the IP address
(assuming you have working DNS) with a gethostbyname() call.
use Socket;
use Sys::Hostname;
my $host = hostname();
my $addr = inet_ntoa(scalar gethostbyname($host || 'localhost'
+));
Probably the simplest way to learn your DNS domain name is to grok
+ it
out of /etc/resolv.conf, at least under Unix. Of course, this assu
+mes
several things about your resolv.conf configuration, including tha
+t it
exists.
(We still need a good DNS domain name-learning method for non-Unix
systems.)
$$ perl
use Socket;
use Sys::Hostname;
my $host = hostname();
my $addr = inet_ntoa(scalar gethostbyname($host || 'localhost'));
die "$host ][ $addr $/";
__END__
medina ][ 169.190.150.133
|