for $user ( keys %HoH ) { for $machine ( sort keys %{ $HoH{$user} } ) { %row_data = (); $row_data{MACHINE} = $machine; for my $key ( sort keys %{ $HoH{$user}->{$machine} } ) { $row_data{$key} = $HoH{$user}->{$machine}->{$key}; } push @{$loop_data}, \%row_data; } }