The problem is around line 3000 in sv.c; the comment there reads:
/*
* If /x was used, we have to worry about a regex
* ending with a comment later being embedded
* within another regex. If so, we don't want this
* regex's "commentization" to leak out to the
* right part of the enclosing regex, we must cap
* it with a newline.
*
* So, if /x was used, we scan backwards from the
* end of the regex. If we find a '#' before we
* find a newline, we need to add a newline
* ourself. If we find a '\n' first (or if we
* don't find '#' or '\n'), we don't need to add
* anything. -jfriedl
*/
This is only a display bug -- it doesn't effect the way the regex matches.
It looks like it's not looking earlier than the # to see if the # is preceeded by a \. Unfortunately, I don't think it's just that easy, either, as qr[ \\# ] should get the newline..
perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER'