in reply to positive regex for inverted match

You say you can't use !~, but you don't really say why not. Does ! /$re/ suit you better?

my $re = qr/foo/; my @no_match = grep { ! /$re/ } <INPUT>;

After Compline,
Zaxo