#1: sort{ $a->{users} ,<=> $b->{users} } @locations #2 for my $loc ( sort { $a->{users} <=> $b->{users} } @locations ) #3 foreach $loc (reverse sort { int($a) <=> int($b) } @locations)