我有一个像这样的 1,660 行数组:
...
H00504
H00085
H00181
H00500
H00103
H00007
H00890
H08793
H94316
H00217
...
而且主角永远不会变。它总是“H”,然后是五位数字。但是当我在 Perl 中做我认为是数字排序的事情时,我得到了奇怪的结果。某些段按顺序排序,但随后会启动不同的段。这是排序后的一段:
...
H01578
H01579
H01580
H01581
H01582
H01583
H01584
H00536
H00537
H00538
H01585
H01586
H01587
H01588
H01589
H01590
...
我正在尝试的是:
my @sorted_array = sort {$a <=> $b} @raw_array;
但显然它不起作用。有谁知道为什么?
我应该补充一点,尽管这些值都以“H”开头,但仍有可能在未来我们可能会以其他字母开头的附加数据结束。这意味着删除 H,排序,然后替换 H,不是解决方案