$VAR1 = { 'request_1.3.6.1.2.1.2.2.1.12.30' => { 'Error_Status' => 'No error', '1.3.6.1.2.1.2.2.1.19.30' => [ [ 'ifOutDiscards.30', '6' ] ], '1.3.6.1.2.1.2.2.1.11.30' => [ [ 'ifInUcastPkts.30', '6' ] ], '1.3.6.1.2.1.2.2.1.20.30' => [ [ 'ifOutErrors.30', '6' ] while ( my ($key, $reference) = each %key_hash){ foreach my $temp (@{$reference}){ print "$key, $reference\n"; } }