如何在Perl中对IP地址列表进行排序?

如何在Perl中对IP地址列表进行排序?,第1张

概述我有一堆存储在数组中的IP地址,例如: my @ip = qw(10.11.1.1 10.100.1.1 ...); 如何按升序对地址进行排序?我尝试过一种简单的方法但当然失败了. IPv4地址只是32位数字. use Socket qw( inet_aton );my @sorted = map substr($_, 4), sort map inet 我有一堆存储在数组中的IP地址,例如: @H_419_7@

@H_419_7@

my @ip = qw(10.11.1.1 10.100.1.1 ...);
@H_419_7@如何按升序对地址进行排序?我尝试过一种简单的方法但当然失败了.

解决方法 IPv4地址只是32位数字. @H_419_7@

@H_419_7@

use Socket qw( inet_aton );my @sorted =    map substr($_,4),sort          map inet_aton($_) . $_,@ips;
@H_419_7@要么

@H_419_7@

my @sorted =    map substr($_,sort          map pack('C4a*',split(/\./),$_),@ips;
@H_419_7@第一个也接受域名.

总结

以上是内存溢出为你收集整理的如何在Perl中对IP地址列表进行排序?全部内容,希望文章能够帮你解决如何在Perl中对IP地址列表进行排序?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存