@sub{@_} = ("(",")"); my $LRS=join'|',map quotemeta,@_; {local $^W=0;s/($LRS.|.)/$sub{$1}/gs; eval{m/$_/}