use Data::Rmap qw[ rmap_hash ]; rmap_hash{ for my $key ( keys %{ $_ } ) { next unless $key eq 'Target key value'; $_->{ $key } =~ $someRegex; } } $refToArbitraryStructure;