案例独立排序

时间:2013-06-24 09:29:32

标签: perl hashtable case-insensitive

如何按键排序哈希表(发音) 我的意思是,如果哈希表中有3个键(称为%tags),"MWE", "wPrefix", "conjunction",如果我使用常规排序:

foreach $tag (sort keys %tags) {
    print "$tag\n";
}

我得到的输出是:

MWE
conjunction
wPrefix

但输出应该是:

conjunction
MWE
wPrefix

1 个答案:

答案 0 :(得分:6)

使用块代码进行排序功能,比较每个项目的大写:

foreach $tag (sort {uc($a) cmp uc($b)} keys %tags) {
    print "$tag\n";
}

这是一个不区分大小写的排序,正如@Dave Sherohman指出的那样