假设我有一个数组,@ theArr,它包含大约1,000个元素,如下所示:
01 '12 16 sj.1012804p1012831.93.gz'
02 '12 16 sj.1012832p1012859.94.gz'
03 '12 16 sj.1012860p1012887.95.gz'
04 '12 16 sj.1012888p1012915.96.gz'
05 '12 16 sj.1012916p1012943.97.gz'
06 '12 16 sj.875352p875407.01.gz'
07 '12 16 sj.875408p875435.02.gz'
08 '12 16 sj.875436p875535.03.gz'
09 '12 16 sj.875536p875575.04.gz'
10 '12 16 sj.875576p875603.05.gz'
11 '12 16 sj.875604p875631.06.gz'
12 '12 16 sj.875632p875659.07.gz'
13 '12 16 sj.875660p875687.08.gz'
14 '12 16 sj.875688p875715.09.gz'
15 '12 16 sj.875716p875743.10.gz'
...
Run Code Online (Sandbox Code Playgroud)
如果我的第一组数字(在'sj.'和'p'之间)总是6位数,我就不会有问题.但是,当数字翻转为7位数时,默认排序将停止工作,因为较大的7位数字位于较小的6位数字之前.
有没有办法告诉Perl按每个数组元素中字符串内的那个数字排序?