use Data::Diver qw/ Dive /; ... my $val = Dive( $data, \$id, \'HOST' ); if( !defined $val ){ ... }