in reply to Sorting HoH on 2nd level key?
Your priority values are hashes. So how do you want to compare {'IS-ABC' => '3'} with {'IS-XYZ' => '3'}? Do you compare IS-ABC with IS-XYZ alphabetically, and what if they are equal?
From your desired output here's something that I think will work:
sub sortBySite { my ($site_a) = keys %{$tmp{$a}{'priority'}}; my ($site_b) = keys %{$tmp{$b}{'priority'}}; return $site_a cmp $site_b; }
Also, does your data really need to be stored as a HoH? Would this simpler structure work for you?
'hostX1-1-l.example.com' => { priority => 'IS-ABC', priority_level => 3, os => 'linux', pager => 'man-duty', }
In Section
Seekers of Perl Wisdom