我以这种方式在数组中包含字符串
/hello/Stack/oveflow 14
/hello/Stack/oveflow 11
/hello/Stack/oveflow 12
/hello/Stack/oveflow 166
/hello/Stack/oveflow 1
/hello/Stack/oveflow 2
/hello/Stack/oveflow 5
我必须按最后一个数字排序
是否可以使用sort来做到这一点?
答案 0 :(得分:6)
是的,sort
正是您所需要的。只需提供代码块来比较两个元素:
my @sorted = sort { ($a =~ /[0-9]+/g)[-1]
<=>
($b =~ /[0-9]+/g)[-1]
} @array;
<=>
进行数值比较。匹配返回字符串中的所有数字,[-1]
选择最后一个。