import socket
socket.gethostbyname(socket.gethostname())
Perl で IO::Interface 使うとかいうやり方もあるみたい。でもこっちのほうが標準モジュールだけで出来るので楽だ。仕組みはあんまりわかってない・・・。ローカルIPアドレスとグローバルIPアドレスが割り振られてるときとか、どうなるんだろう。
ワンライナーでやるなら、こう。
$ python -c "import socket; print socket.gethostbyname(socket.gethostname())"
Perl スクリプトの中から使うこともできる(本末転倒気味)
#!perl use strict; my $cmd = "python -c 'import socket; print socket.gethostbyname(socket.gethostname())'"; my $ip = `$cmd`; print $ip;