是的,所以我得到了一些帮助,但需要更多,我对如何按字母顺序排序数组有很好的理解。但现在我需要用数字排序。它可能是“my @test = (sort {items{$a}} <=> {items{$b}} @menu)"
如果它是一个带有两个键的哈希,我会有一个解决方案,但由于这个数组包含三个类别,这对我来说很难。显然正在寻找一些帮助以及尽可能的解释,因为我渴望学习。 谢谢!
my @test = (sort {price{$a} <=> {price{$b}} @menu)
答案 0 :(得分:2)
问题是item{$a}
。看起来你正在尝试从散列item
获取一些值,当然不是哈希值。
my @test = sort { $a->{price} <=> $b->{price} } @menu;
您也可以根据多个字段进行排序
my @test = sort {
$a->{price} <=> $b->{price}
or $a->{color} cmp $b->{color}
or $b->{items} cmp $a->{items} # note reverse order
} @menu;
答案 1 :(得分:0)
这是如何通过奖品订购:
my @test = sort { $a->{prize} <=> $b->{prize} } @menu;
按降序排列,只需更改$ a和$ b:
my @test = sort { $b->{prize} <=> $a->{prize} } @menu;