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

前端之家收集整理的这篇文章主要介绍了如何在Perl中对IP地址列表进行排序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一堆存储在数组中的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_aton($_) . $_,@ips;

要么

my @sorted =
    map substr($_,sort
          map pack('C4a*',split(/\./),$_),@ips;

第一个也接受域名.

猜你在找的Perl相关文章