On Wed, Sep 18, 2013 at 10:56 AM, Nicholas Clark <nick@ccl4.org> wrote: > Nice bug. I'm not sure if the behaviour is as simple as # being a "dead" > character or not. If differs depending on whether \E is present: > > $ perl -e 'warn "a# " =~ /\Qa# \E/ ? "M" : "."' > M at -e line 1. > $ perl -e 'warn "a# " =~ /\Qa# / ? "M" : "."' > M at -e line 1. > $ perl -e 'warn "a# " =~ /\Qa# \E/x ? "M" : "."' > . at -e line 1. > $ perl -e 'warn "a# " =~ /\Qa# /x ? "M" : "."' > M at -e line 1. > Nice indeed. Easy to see with qr// $re = qr/\Q#abc\E/x; print "$re\n"; print '#abc' =~ /$re/ || 0, "\n"; $re = qr/\Q#abc/x; print "$re\n"; print '#abc' =~ /$re/ || 0, "\n"; $re = qr/\Qabc\E/x; print "$re\n"; print 'abc' =~ /$re/ || 0, "\n"; (?^x:\#abc\\E) 0 (?^x:\#abc) 1 (?^x:abc) 1Thread Previous