http://qs321.pair.com?node_id=171973

This perl 5.006001.
I have casted this surprising behavior (which?) in the traditional froggy $A++ obfu. The goal is to increment $A once in some convoluted way.

$A += ('(A)' =~ m(\(A\)))[0] == ('(A)' =~ m((A)))[0]; $A += ('(A)' =~ m|\(A\)|)[0] == ('(A)' =~ m|(A)|)[0];

you can contribute by sending to $A++@mongueurs.net and /msg BooK if your contribution does not appear soon enough.

-- stefp -- check out TeXmacs wiki

Due to the lack of feedback. I ask the question more clearly Is it a documented feature that qr() and m() behave oddly with bacckslashed paren while qr// and m// don't?
See below how qr(\(a\)) and qr|\(a\)| behave differently?

DB<1> $a = qr((a)); print "'$a' "; print '(a)' =~ m|$a| '(?-xism:(a))' a DB<2> $a = qr(\(a\)); print "'$a' "; print '(a)' =~ m|$a| '(?-xism:(a))' a DB<3> $a = qr(\\(a\\)); print "'$a' "; print '(a)' =~ m|$a| '(?-xism:\\(a\\))' DB<4> $a = qr|\(a\)|; print "'$a' "; print '(a)' =~ m|$a| '(?-xism:\(a\))' 1

tye explained it to me:" backslashing the delimiter allows it to be inside the delimited text, it doesn't cause the backslash to be included in the string as well". Thanks tye.