Sys::HostIP - Try extra hard to get ip address related info
use Sys::HostIP; #class methods my $ip_address = Sys::HostIP->ip; # $ip_address is a scalar containing a best guess of your host machines # ip address. On unix systems, it will return loopback (127.0.0.1) if it # can't find anything else. This is also exported as a sub (to keep # compatability with older versions). my $ip_addresses = Sys::HostIP->ips; # $ip_addresses is an array ref containing all the ip addresses of your # machine my $interfaces = Sys::HostIP->interfaces; # $interfaces is a hash ref containg all pairs of interfaces/ip addresses # Sys::HostIP could find on your machine. Sys::HostIP->ifconfig("/somewhere/that/ifconfig/lives"); # you can set the location of ifconfig with this class method if the code # doesn't seem to know where your ifconfig lives
Sys::HostIP does what it can to determine the ip address of your machine. All 3 methods work fine on every system that I've been able to test on. (Irix, OpenBSD, FreeBSD, NetBSD, Solaris, Linux, OSX, Win32, Cygwin). It does this by parsing ifconfig(8) (ipconfig on Win32/Cygwin) output.
ip(), ips(), interfaces(), and ifconfig().
Jonathan Schatz <email@example.com>
I haven't tested the win32 code with dialup or wireless connections.