Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在perl中使用格式x.x.x.x对数字进行排序大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
比如说数字是格式的:
1.1.10
1.1.10.1
1.1.10.2
1.1.11
1.1.12
1.1.13
1.1.13.1
1.1.3
1.1.4

而我正在寻找的输出是:

1.1.3
1.1.4
1.1.10
1.1.10.1
1.1.10.2
1.1.11
1.1.12
1.1.13
1.1.13.1

解决方法

use Sort::Key::Natural qw( natsort );
my @sorted = natsort @data;

或(没有模块)

@H_830_2@my @sorted = map $_->[0],sort { $a->[1] cmp $b->[1] } map [ $_,pack('C*',split /\./) ],@data;

或(没有模块,速度更快,但需要数组而不是输入列表)

@H_830_2@my @sorted = map $data[unpack('N',$_)],sort map pack('NC*',$_,split /\./,$data[$_]),0..$#data;

在包模板中,您可以将C更改为n或N. C允许最多255个数字.n允许数字最多为65,535. N允许数量高达40亿.

大佬总结

以上是大佬教程为你收集整理的在perl中使用格式x.x.x.x对数字进行排序全部内容,希望文章能够帮你解决在perl中使用格式x.x.x.x对数字进行排序所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。