+ -
当前位置:首页 → 问答吧 → TIPS:IP(v4) Address convert to big integer

TIPS:IP(v4) Address convert to big integer

时间:2010-10-18

来源:互联网

1. using regexp method:


QUOTE:
my $ipaddr = '117.136.5.88';
my $cnt = 3;
my $intip  = 0;
for ($ipaddr =~ /(\d+)/g) {
    $intip += $_ << 8 * $cnt--;
}
print "Ip=>Integer: $ipaddr => $intip\n";



2. Using Unpack():


QUOTE:
use Socket;

my $ipaddr = '117.136.5.88';
$intip = unpack('N', inet_ntoa($ipaddr));
print "Int: ", $obj_ip->intip(), "\n";



3.  Using Net::IP


QUOTE:
use Net::IP;

my $ipaddr = '117.136.5.88';
my $obj_ip = new Net::IP($ipaddr) or die Net::IP::Error();
print "Int: ", $obj_ip->intip(), "\n";

作者: ulmer   发布时间: 2010-10-18

这个总结不错。。我常用第二种方法~~~

作者: shortcutter   发布时间: 2010-10-18