my $inner = $ret->{$room}; #### use strict; use warnings; use feature 'say'; my $ret = { room1 => { tag => 5, status => 'lazy', id => 5823 }, room2 => { tag => 10, status => 'active', id => 1234 }, }; for my $room ( sort keys $ret ) { say $room; my $inner = $ret->{$room}; say "\t$_ => $inner->{$_}" for sort keys $inner; }