From 00f6437b30bbbd24904cbecfa1c00ab91f7315e5 Mon Sep 17 00:00:00 2001 From: Father Chrysostomos Date: Sun, 25 Nov 2012 14:28:25 -0800 Subject: [PATCH] Test perl #4289 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This was fixed by the disabling of PL_sawampersand a few commits ago. The output used to be like this: $ perl -e '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$&|, "\n"' e $ perl -e '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$`|, "\n"' h $ perl -e '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$'\''|, "\n"' l Now it’s like this: $ ./perl -e '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$&|, "\n"' b $ ./perl -e '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$`|, "\n"' a $ ./perl -e '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$'\''|, "\n"' c --- t/re/pat_rt_report.t | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/t/re/pat_rt_report.t b/t/re/pat_rt_report.t index 262e8d3..d19d1df 100644 --- a/t/re/pat_rt_report.t +++ b/t/re/pat_rt_report.t @@ -22,7 +22,7 @@ BEGIN { } -plan tests => 2527; # Update this when adding/deleting tests. +plan tests => 2530; # Update this when adding/deleting tests. run_tests() unless caller; @@ -1143,6 +1143,19 @@ EOP ok("blah blah" =~ /$pattern/, $message); ok("blah blah" =~ /(?:$pattern)h/, $message); } + + { + # [perl #4289] First mention $& after a match + fresh_perl_is( + '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$&|, "\n"', + "b\n", {}, '$& first mentioned after match'); + fresh_perl_is( + '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$`|, "\n"', + "a\n", {}, '$` first mentioned after match'); + fresh_perl_is( + '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$\'|,"\n"', + "c\n", {}, '$\' first mentioned after match'); + } } # End of sub run_tests 1; -- 2.7.4