use Array::Utils qw( intersect ); my @refkeys1 = grep { ref $ref1->{$_} } keys %$ref1; my @refkeys2 = grep { ref $ref2->{$_} } keys %$ref2; my @common = intersect( @refkeys1, @refkeys2 );