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);
}