my $expr = quotemeta 'foo.\E{2}\Qbar'; $expr =~ s{\\\\E(.*?)(?:\\\\Q|$)}{ (my $unprotect = $1) =~ s/\\(\\?)/$1/g; $unprotect; }ge;