use warnings; my @a = (1,11,3,5,21,9,10); my @b = sort @a; print "@b";
Output: 1 10 11 21 3 5 9
键盘链接:http://codepad.org/Fvhcf3eP
我猜sort函数没有将数组的元素作为整数.这就是为什么输出不是:
1 3 5 9 10 11 21
是吗?
如何将上述结果作为输出?
sort
my @a = sort {$a <=> $b} @b;
链接页面显示了如何以不相反的顺序(降序)排序不区分大小写的其他示例,依此类推.
您可以创建显式子例程以防止重复:
sub byord { $a <=> $b }; ... @a = sort byord @b;
这在功能上等同于使用匿名子例程的第一个示例.