The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Sys::HostIP - Try extra hard to get ip address related info

SYNOPSIS

  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

DESCRIPTION

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.

EXPORT

ip(), ips(), interfaces(), and ifconfig().

AUTHOR

Jonathan Schatz <bluelines@divisionbyzero.com>

TODO

I haven't tested the win32 code with dialup or wireless connections.

SEE ALSO

ifconfig(8) ipconfig

perl.