古い記事
ランダムジャンプ
新しい記事
Perl で ホスト名からIPアドレスを得るには gethostbyname を使えばOK。
$bin_addr = gethostbyname($host);
$addr = sprintf("%vd", $bin_addr);
(via http://code.nanigac.com/source/view/381)

Net::Ping を使用してホスト名からIPアドレスを得ることもできる。
生存確認も兼ねる必要があるときには良いかと。

下記のサンプルプログラムは "perldoc Net::Ping" のをちょっといじっただけ。

コード (netping.pl):
#!/usr/bin/perl
use strict;
use warnings;
use Net::Ping;
my $host = shift @ARGV;
my $p = Net::Ping->new();
my ($ret, $duration, $ip) = $p->ping($host, 1);
$p->close();
if ($ret) {
    print "$host : $ip\n";
}

実行例:
% ./netping.pl chalow.net    
chalow.net : 219.94.129.235
% ./netping.pl twitter.com
twitter.com : 128.242.240.116
% ./netping.pl bit.ly  
bit.ly : 128.121.234.46

ref.
- [を] Perl の gethostbyaddr[2006-11-29-4]