如何使用perl按值对哈希值进行排序?
发布时间:2020-12-15 23:28:23 所属栏目:大数据 来源:网络整理
导读:我有这个代码 use strict;use warnings;my %hash;$hash{'1'}= {'Make' = 'Toyota','Color' = 'Red',};$hash{'2'}= {'Make' = 'Ford','Color' = 'Blue',};$hash{'3'}= {'Make' = 'Honda','Color' = 'Yellow',};foreach my $key (keys %hash){ my $a = $hash{$
我有这个代码
use strict; use warnings; my %hash; $hash{'1'}= {'Make' => 'Toyota','Color' => 'Red',}; $hash{'2'}= {'Make' => 'Ford','Color' => 'Blue',}; $hash{'3'}= {'Make' => 'Honda','Color' => 'Yellow',}; foreach my $key (keys %hash){ my $a = $hash{$key}{'Make'}; my $b = $hash{$key}{'Color'}; print "$a $bn"; } 这个出来了:
需要帮助按Make排序. 解决方法#!/usr/bin/perl use strict; use warnings; my %hash = ( 1 => { Make => 'Toyota',Color => 'Red',},2 => { Make => 'Ford',Color => 'Blue',3 => { Make => 'Honda',Color => 'Yellow',); # if you still need the keys... foreach my $key ( # sort { $hash{$a}->{Make} cmp $hash{$b}->{Make} } # keys %hash ) { my $value = $hash{$key}; printf( "%s %sn",$value->{Make},$value->{Color} ); } # if you don't... foreach my $value ( # sort { $a->{Make} cmp $b->{Make} } # values %hash ) { printf( "%s %sn",$value->{Color} ); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |