http://www.perlmonks.org?node_id=634972


in reply to Re^2: Scurbbing a string
in thread Scrubbing a string

I would have thought the same. But you could get around it by building your RE as a string and then putting that into the s///:
my $allowed = "pure"; my $re = "[^\Q$allowed\E]"; my $str = "p uuu+tr-ed"; $str =~ s/$re//g; print $str, "\n";

Caution: Contents may have been coded under pressure.