Ahhh, now I see! Thanks for editing that regex for me. I like your explanation of why using a \\ at the end fails. However, if the regex did not match, then a compile error would not occur as it would not enter the if statement.
Following your suggestion of using the m!! format works. So the problem lies in how the regex is getting compiled. I did a bit more testing and discovered that using the \\ fails when it is next to a \/ combination (on either side). It fails if I use the // or m// style. At this point it's mostly a matter of curiousity but an interesting anomaly within either the eval function or the Perl regex engine.