use constant { TOTAL => 0, FREE => 1 }; for my @server ( @servers ) { printf "Server: %s type:%s Env: %s\n", $server->{ hostname }, $server->{ type }, $server->{ env }; for my $target ( @{ $server->{ targets } } ) { printf "\tTotal: %d Free: %d\n", @{ $target }[ TOTAL, FREE ]; } }