[Chicago-talk] Any handy operators for finding the local IP?
Richard Reina
richard at rushlogistics.com
Wed Mar 23 04:56:00 PST 2005
Steve,
Thanks that code seems a lot more of a foolproof than
the hostname function that I am using now. I'll give
it a try. Thanks again. Hope you are well. Hows NY?
Richard
--- Steven Lembark <lembark at wrkhors.com> wrote:
>
>
> -- Richard Reina <richard at rushlogistics.com>
>
> > I know there's a handy $< to find the UID of the
> user
> > executing the prorgram. Is there any handy
> operator
> > to find the IP address of the local machine that
> is
> > running the program.
>
> If you know the interface name it's not at all
> difficult
> to parse ifconfig's output:
>
> x qx(/sbin/ifconfig eth0) =~ /inet addr:(\S+)/
> 0 '192.168.1.2'
>
> If you're writing local code then the interface name
> is a reasonable guess. For the general case you can
> use:
>
> DB<5> x ( $a = qx( /sbin/ifconfig ) ) =~ /inet
> addr:(\S+)/g
> 0 '192.168.1.2'
> 1 '192.168.15.2'
> 2 '127.0.0.1'
>
> And pick the one that seems most useful (e.g. the
> lowest subnet).
>
> If all of your hosts are singly-homed (which the
> example
> above is NOT) then filtering out 127.0.0.1 works. In
> most
> cases you know the subnet you're ineterested in and
> can
> search for that:
>
> DB<6> x ( $a = qx( /sbin/ifconfig ) ) =~ /inet
> addr:(192.168.\S+)/g
> 0 '192.168.1.2'
> 1 '192.168.15.2'
>
> Which would give you a single value on most systems
> (this
> was run in perl -d on a basion host with DMZ and LAN
> interfaces).
>
>
>
> --
> Steven Lembark
> 85-09 90th Street
> Workhorse Computing
> Woodhaven, NY 11421
> lembark at wrkhors.com
> 1 888 359 3508
> _______________________________________________
> Chicago-talk mailing list
> Chicago-talk at pm.org
> http://mail.pm.org/mailman/listinfo/chicago-talk
>
More information about the Chicago-talk
mailing list