在perl中对间隔数组进行排序?

前端之家收集整理的这篇文章主要介绍了在perl中对间隔数组进行排序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在perl中有一个数组,有一些间隔,如:

@array = qw(1-5 7-9 10-15 20-58 123-192 234-256)

我试图使用排序来订购它,但这是我获得的:

1-5,10-15,123-192,20-58,234-256,7-9

它按第一个数字的第一个字符排序……为了获得下一个数组,如何按整个第一个数字排序?

1-5,7-9,234-256

非常感谢你!

附:

我没有这个代码,我正在尝试这个命令

my @sorted = sort @array;

解决方法

您需要为每个元素提取第一个数字,并使用< =>进行数值比较.操作符,

my @array = qw(1-5 7-9 10-15 20-58 123-192 234-256);
my @sorted = sort {
  my ($aa,$bb) = map /^([0-9]+)/,$a,$b; 

  $aa <=> $bb;
} @array;

猜你在找的Perl相关文章