最近、Perlでネストされたデータ構造を試しています。私はハッシュの配列のハッシュを持っていると私はアルファベット順にキーでソートされた値を取得したいとしましょう。どうすればいいのですか?Perl:キーでソートされたネストされたハッシュの値を取得するにはどうすればよいですか?
コード:
#!/usr/bin/perl
use JSON::XS;
use Data::Dumper;
#use diagnostics;
use warnings;
my $school_data = {'School' => '156', 'Pupils' => [{'Person' => {name => 'Alice', age => 10, pet => 'cat'},'id' => 56},{'Person' => {name => 'John', age => 9, pet => 'dog'},id => 4}]};
print "\$school_data:" . Dumper ($school_data);
my $ref = $school_data->{Pupils};
foreach $pupil (@$ref){
my @temp = sort (values $pupil->{'Person'});
print "\[email protected]\n";
}
は私に出力与える:
$school_data: $VAR1 = {
'School' => '156',
'Pupils' => [
{
'id' => 56,
'Person' => {
'pet' => 'cat',
'name' => 'Alice',
'age' => 10
}
},
{
'Person' => {
'age' => 9,
'name' => 'John',
'pet' => 'dog'
},
'id' => 4
}
]
};
10 Alice cat
9 John dog
をそして、私はアルファベット順にキーでソートされた値(ペットの名前、年齢)を取得したい:
探しcat Alice 10
dog John 9
あなたの助けに送ってください。ありがとうございました。
を?それとも特定のものだけ? – Sobrique
['$ Data :: Dumper :: Sortkeys = 1'](https://metacpan.org/pod/Data::Dumper#Configuration-Variables-or-Methods) – mob