perlで、ホスト名からIPアドレスを引くには?

[上に] [前に] [次に]
ポンタ 2000/01/05(水) 11:51:08
perlを書き始めて日も浅く解らない事ばかりなのですが、
perlで、ホスト名からIPアドレスを引くにはどの様
にしたらよいのでしょうか。

#IPアドレスからホスト名を引く事は、
$addr = "127.0.0.1";
$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
で、出来たのですが、ちょうどこの逆の事をしたいと思っております。
(とほほのperl入門の通りで、感謝!感謝!!でした。)

2000/01/05(水) 23:32:10
$ENV{'REMOTE_ADDR'}が必ず取得できるので、どんな時に使うのか考えたことも無かったですけど、予想ではgetnetbyname()ですかねぇ?
家でやったらスカラーコンテキストは空。
リストコンテキストは0がひとつ帰ってきました。
要するに何も入ってなかった。う〜む・・・

きたむら 2000/01/05(水) 23:46:28
お、これは知っています。
$host = "www.hoge.ne.jp";
$addr = join(".", unpack("C4", gethostbyname($host)));
です。

#そろそろIPV6なども視野に入ってきたので、"C4"は"C*"にしとくほうが
#いいのかもしれません(実はよくわかってない>IPV6)。

ポンタ 2000/01/06(木) 14:23:56
[[解決]]
きたむら>$host = "www.hoge.ne.jp";
きたむら>$addr = join(".", unpack("C4", gethostbyname($host)));

すごい。出てきた出てきた。
きたむらサンの書かれた通りで出力されました。
ありがとうございました。(感謝!感謝!!) =====>きたむらさん

$ENV{'REMOTE_ADDR'}でやったら..。
という助言ですね。ありがとうございました。==>猫さん

[上に] [前に] [次に]