for $user ( keys %HoH ) { for $machine ( sort keys %{ $HoH{$user} } ) { my %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 ; } }