use Data::Dumper; my (%energizer, %bunny); $energizer{going} = \%bunny; $bunny{and} = \%energizer; while (my ($keeps, $hopping) = each %bunny) { print Dumper($hopping); }