$hash = test::this(\%hash); for my $box (keys %{$hash}){ print "this is box $box\n"; for my $par (keys %{$hash{$box}}){ print "this is partition $par\n"; for my $sec (keys %{$hash->{$box}->{$par}}){ print "this is section $sec\n"; } } }