Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl – 如何通过其中一个哈希值对哈希引用数组进行排序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,请原谅我生锈的Perl.我正在尝试修改Bugzilla的“whine.pl”以生成按严重性排序的错误列表.

所以它给了我一个哈希引用数组.每个哈希都包含一系列有关特定错误(id,受让人,严重性等)的信息.我想按严重程度对数组进行排序.最好的方法是什么?

我想出了几个可能性.一种是创建五个数组(每个严重级别一个),然后遍历数组并将哈希引用推送到适当的严重性级别数组.在此之后,我可以重新组装它们并用已排序的数组替换原始数组.

我的朋友提出的另一种方法是将严重性级别(存储为散列中的文本)分配给某些nubmers,然后cmp它们.也许是这样的

sub getVal {
    my $entry = $_[0];
    %lookup = ( "critical" => 0,... );
    return $lookup(entry("bug_severity"));
}
@sorted = sort { getVal($a) <=> getVal($b) } @unsorted;

解决方法

我喜欢你提出的解决方案: @H_341_8@my %sevs = (critical => 0,high => 1,...); my @sorted = sort { $sevs{$a->{Bug_severity}} <=> $sevs{$b->{Bug_severity}} } @unsorted

大佬总结

以上是大佬教程为你收集整理的perl – 如何通过其中一个哈希值对哈希引用数组进行排序?全部内容,希望文章能够帮你解决perl – 如何通过其中一个哈希值对哈希引用数组进行排序?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。