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. 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 *nix that I've been able to test on. (Irix, OpenBSD, FreeBSD, NetBSD, Solaris, Linux, OSX). It does this by parsing ifconfig(8) output. Unfortunately, I have no access to a Win32 machine, so this code is leftover from the old (1.0) version of this code (which i did not write) and thus, only the ip() method is trully implemented (*hint* patches are welcome).
ip(), ips(), interfaces(), and ifconfig(). Although this was written as a class, and using the class methods are preferred (I think this makes code much more readable).
Jonathan Schatz <bluelines@divisionbyzero.com>
Rewrite this via XS and ifaddrlist from Net::RawIP (although this will ruin portability to non-*nix systems).
ifconfig(8)
perl.
To install Sys::HostIP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sys::HostIP
CPAN shell
perl -MCPAN -e shell install Sys::HostIP
For more information on module installation, please visit the detailed CPAN module installation guide.