my %HoHoA = ( 'set1' => { 'AAAAAAA' => [ ['1','BOOK'],['2','PENCIL'] ], 'BBBBBBB' => [ ['0','CHALK'],['4','PEN'] ], }, # length of 2nd keys = 7 (all the same in 'set1') 'set2' => { 'AAA' => [ ['1','BOOK'],['2','PENCIL'] ], 'BBB' => [ ['0','CHALK'],['4','PEN'] ], }, # length of 2nd keys = 7 (all the same in 'set2') 'set3' => { 'AAA' => [ ['1','BOOK'],['2','PENCIL'] ], 'BBB' => [ ['0','CHALK'],['4','PEN'] ], }, # length of 2nd keys = 3 (all the same in 'set3') 'set4' => { 'AAAA' => [ ['1','BOOK'],['2','PENCIL'] ], 'BBBB' => [ ['0','CHALK'],['4','PEN'] ], }, # length of 2nd keys = 4 (all the same in 'set4') ); #### set2 # Length 3 set3 # Length 3 set4 # Length 4 set1 # Length 7 #### foreach my $set ( sort {#???} keys %HoHoA ) { print "$set\n"; }