use 5.020; use Data::Dumper; my $tmp = qr/re/; my @positive = grep {/$tmp/} 'rerere', 'foo'; my @negative = grep {/(?!$tmp)/} 'rerere', 'foo'; say Dumper \@positive; # 'rerere' say Dumper \@negative; # 'rerere', 'foo'