【发布时间】:2015-10-25 21:54:27
【问题描述】:
我正在尝试编写一个 perl 脚本来实现它自己的自定义排序。如果输入文件看起来像:
hello
advantage
cat
排序后的版本如下所示:
cat
hello
advantage
如果单词按长度排序,并且如果两个单词的长度相同,那么它将对两者进行正常的字典比较。
根据我在网上看到的情况,我的排序行如下所示:
@sorted = sort { length $a <=> length $b } @elements
但我不确定如果两个单词的长度不同,我将如何添加正常排序的部分。
【问题讨论】:
-
你了解
length $a <=> length $b的工作原理吗? -
它根据比较权返回 1、0 或 -1
-
对。所以,你必须检查 0 的情况:perldoc.perl.org/functions/sort.html