my %GROUPS => ( A => { 1 => x, 2 => y, 3 => z }, B => { 1 => x, 2 => y, 3 => z }, ); for my $group (keys %GROUPS) { my $foo = $GROUPS{$group}; for (keys %$foo) { print("$_ in group $group: $foo->{$_}\n"); } }