my @result2 = sort custom keys %$VAR2; #### my @result = sort { $VAR1->{$a}{network} cmp $VAR1->{$b}{network} } keys %$VAR1; #### sub keys_sorted_by_network { my $h = shift; sort { $h->{$a}{network} cmp $h->{$b}{network} } keys %$h; } my @result = keys_sorted_by_network($VAR1);