我有两个选择。一是我有一个包含 IP 列表的数组。例如
my @Ip=(); # array that has the IPs below in it
输入示例:
108.0.0.30
108.0.0.30
108.0.0.30
192.168.1.1
192.168.1.2
10.0.0.1
我需要一个程序可以对这样的数组进行排序并告诉它是哪个网络类和子网掩码。例如,输出应该是这样的
10.1.1.1/25 10.1.1.1 is ip and 25 is submask
Net::IP http://search.cpan.org/dist/Net-IP/IP.pm, Net::IP::Resolver http://search.cpan.org/~adamk/Net-IP-Resolver-0.02/lib/Net/IP/Resolver.pm, Net::IP::Match::Regexp http://search.cpan.org/~cdolan/Net-IP-Match-Regexp-1.01/lib/Net/IP/Match/Regexp.pm和其他子模块来自Net::IP
正在为你做这件事。仅排序部分就很困难。但如果你用谷歌搜索,你会发现一些不错的方法。例如:
my @ips = qw(
172.27.32.200
172.19.32.100
10.1.1.60
192.20.30.133
);
@ips = map {s/\s+//g; $_} sort map {s/(\d+)/sprintf "%3s", $1/eg; $_} @ips;
print join "\n", @ips;
在这里找到 http://bytes.com/topic/perl/answers/655019-how-sort-ip-address-using-perl-script#post2598599
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)