while(my($env,$platform_href) = each %{$stuff}) { while(my($platform,$host_href) = each %{$platform_href}) { while(my($host,$target_href) = each %{$host_href}) { while(my($target,$capacity_href) = each %{$target_href}) { # Do stuff with # $env # $platform # $host # $target # $capacity_href->{'total_capacity'}; # $capacity_href->{'free_capacity'}; } } } }