summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xt/op/pat.t20
-rw-r--r--toke.c2
2 files changed, 20 insertions, 2 deletions
diff --git a/t/op/pat.t b/t/op/pat.t
index c59e31f87f..942e6e65f9 100755
--- a/t/op/pat.t
+++ b/t/op/pat.t
@@ -6,7 +6,7 @@
$| = 1;
-print "1..630\n";
+print "1..632\n";
BEGIN {
chdir 't' if -d 't';
@@ -1765,3 +1765,21 @@ EOT
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
+
diff --git a/toke.c b/toke.c
index fca0f73bb8..34e2fd4306 100644
--- a/toke.c
+++ b/toke.c
@@ -1374,7 +1374,7 @@ S_scan_const(pTHX_ char *start)
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 */
}