C<eval "/x$\r\n/x"> fails to compile correctly
p4raw-link: @10739 on //depot/maint-5.6/perl:
a3d864e88a38f4417518c9eac1d0058e2537efe7
p4raw-id: //depot/perl@10742
p4raw-integrated: from //depot/maint-5.6/perl@10741 'merge in'
t/op/pat.t (@9675..) toke.c (@10158..)
$| = 1;
-print "1..630\n";
+print "1..632\n";
BEGIN {
chdir 't' if -d 't';
print "ok 630\n";
}
+$_ = "foo";
+
+eval <<"EOT"; die if $@;
+ /f
+ o\r
+ o
+ \$
+ /x && print "ok 631\n";
+EOT
+
+eval <<"EOT"; die if $@;
+ /f
+ o
+ o
+ \$\r
+ /x && print "ok 632\n";
+EOT
+
else if (*s == '$') {
if (!PL_lex_inpat) /* not a regexp, so $ must be var */
break;
- if (s + 1 < send && !strchr("()| \n\t", s[1]))
+ if (s + 1 < send && !strchr("()| \r\n\t", s[1]))
break; /* in regexp, $ might be tail anchor */
}