加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl实现二分法的ip查找

发布时间:2020-12-16 00:33:07 所属栏目:大数据 来源:网络整理
导读:sub search_newarea{ ???? my $ip =@_[0]; ???? $start=1; ???? $end=$count; ???? @ips=split(/./,$ip); ???? $long_ip =int($ips[0])*256*256*256+int($ips[1])*256*256 + int($ips[2])*256 + int($ips[3]); ???? while($start = $end $start = 1 $end =

sub search_newarea{
???? my $ip =@_[0];
???? $start=1;
???? $end=$count;
???? @ips=split(/./,$ip);
???? $long_ip =int($ips[0])*256*256*256+int($ips[1])*256*256 + int($ips[2])*256 + int($ips[3]);
???? while($start <= $end && $start >= 1 && $end <= $count){
??????????? $middle=int(($start+$end)/2);
??????????? if($long_ip>=$areas{$middle}[0] && $long_ip<=$areas{$middle}[1]){
???????????????? return $areas{$middle}[2];
??????????? }
??????????? if($long_ip>$areas{$middle}[0]){
????????????????? $start=$middle+1;
??????????? }else{
???????????????? $end=$middle-1;
??????????? }

???? }
???? return 0;
}

?

search_newarea $ip;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读