in reply to Sorting hash
Hi,
since your Dump contains 2 'hostname' elements, i think you really have a ArrayRef which contains HashRefs.
you also have to take care of your sorting.
hopefully my example code helps:
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; #Hash Number 1 my %hash1 = ( 'hostname' => { '1' => { 'pass' => 1, 'cpu' => '0.07%', 'box_name' => 'hostname', 'capacity' => '0.41%' } } ); #Hash Number 2 my %hash2 = ( 'hostname' => { '1' => { 'pass' => 1, 'cpu' => '0.04%', 'box_name' => 'hostname', 'capacity' => '0.25%' } } ); #Array of Hash Refs my @array = ( \%hash1, \%hash2 ); #Array Ref my $results = \@array; #Result Elements (Hash Refs $a and $b) are dereferenced and values of +key cpu is used for sorting + foreach my $router ( sort { $a->{'hostname'}{1}{cpu} <=> $b->{'hostnam +e'}{1}{cpu} } @{$results} ) { print Dumper($router); }
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Sorting hash
by bartrad (Beadle) on Apr 05, 2018 at 18:39 UTC | |
by ablanke (Monsignor) on Apr 05, 2018 at 19:01 UTC | |
by pryrt (Abbot) on Apr 05, 2018 at 19:30 UTC | |
by ablanke (Monsignor) on Apr 05, 2018 at 22:56 UTC | |
by pryrt (Abbot) on Apr 05, 2018 at 23:01 UTC |
In Section
Seekers of Perl Wisdom