use strict; use warnings; my %var = ( 'a' => { 'one' => '1', 'two' => '2', 'three' => '3', }, 'b' => { 'four' => '4', 'five' => '5', } ); foreach (keys %var ) { ## Here $_ will have a , b foreach (keys %{$var{$_}} ) { ## Here $_ will have one, two , three, etc. print $_; ## With in this for loop, I want to access a and b. } }