in reply to Getting own ip-addresses on Win32 machines

This is probably highly operating-system dependent. On my Darwin box, it returned nothing, and yet I'm clearly on the net.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

Replies are listed 'Best First'.
Re: •Re: Getting own ip-addresses!
by Anonymous Monk on Mar 01, 2004 at 05:30 UTC
    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
Re: •Re: Getting own ip-addresses!
by esskar (Deacon) on Mar 01, 2004 at 04:40 UTC
    well, it just seems to work on a Win32 machine;
    it's probably because of the way gethostbyname is implemented in the socket library;
    well, i think it is still a good and simple way for win32 users