@{ $$href{dn}{mail} }; # or @{ $href->{dn}{mail} }; # or @{ $href->{dn}->{mail} }; #### $$href{$dn}{mail}[0]; # or $href->{dn}{mail}[0]; # or $href->{dn}->{mail}->[0]; ## yawn! :) # or ... #### ## Make the localised glob *mail ## act as an alias to the nested array { local *mail = $ref->{dn}{mail}; print @mail; ## Print the whole array print $mail[0]; ## The first element } ## *mail reverts to it's old value here.