characters and Perl was unable to create a unique filename during
inplace editing with the B<-i> switch. The file was ignored.
-=item Can't do {n,m} with n > m at ===HERE=== in regex m/%s/
+=item Can't do {n,m} with n > m before << HERE in regex m/%s/
(F) Minima must be less than or equal to maxima. If you really want your
-regexp to match something 0 times, just put {0}. The ===HERE=== shows in the
+regexp to match something 0 times, just put {0}. The << HERE shows in the
regular expression about where the problem was discovered. See L<perlre>.
=item Can't do setegid!
filehandles. Are you attempting to call flock() on a dirhandle by the
same name?
-=item Quantifier follows nothing at ===HERE=== in regex m/%s/
+=item Quantifier follows nothing before << HERE in regex m/%s/
(F) You started a regular expression with a quantifier. Backslash it if you
-meant it literally. The ===HERE=== shows in the regular expression about where the
+meant it literally. The << HERE shows in the regular expression about where the
problem was discovered. See L<perlre>.
=item Format not terminated
internally--subject to loss of precision errors in subsequent
operations.
-=item Internal disaster at ===HERE=== in regex m/%s/
+=item Internal disaster before << HERE in regex m/%s/
(P) Something went badly wrong in the regular expression parser.
-The ===HERE=== shows in the regular expression about where the problem was
+The << HERE shows in the regular expression about where the problem was
discovered.
Perl is making a guess and treating this C<exec> as a request to
terminate the Perl script and execute the specified command.
-=item Internal urp at ===HERE=== in regex m/%s/
+=item Internal urp before << HERE in regex m/%s/
-(P) Something went badly awry in the regular expression parser. The ===HERE===
+(P) Something went badly awry in the regular expression parser. The <<<HERE
shows in the regular expression about where the problem was discovered.
values cannot be returned in subroutines used in lvalue context. See
L<perlsub/"Lvalue subroutines">.
-=item Lookbehind longer than %d not implemented at ===HERE=== in reges m/%s/
+=item Lookbehind longer than %d not implemented before << HERE in reges m/%s/
(F) There is currently a limit on the length of string which lookbehind can
-handle. This restriction may be eased in a future release. The ===HERE=== shows in
+handle. This restriction may be eased in a future release. The << HERE shows in
the regular expression about where the problem was discovered.
=item Malformed PERLLIB_PREFIX
(F) You tried to do a read/write/send/recv operation with a buffer
length that is less than 0. This is difficult to imagine.
-=item Nested quantifiers at ===HERE=== in regex m/%s/
+=item Nested quantifiers before << HERE in regex m/%s/
(F) You can't quantify a quantifier without intervening parentheses. So
-things like ** or +* or ?* are illegal. The ===HERE=== shows in the regular
+things like ** or +* or ?* are illegal. The << HERE shows in the regular
expression about where the problem was discovered.
Note, however, that the minimal matching quantifiers, C<*?>, C<+?>, and
(S unsafe) The subroutine being declared or defined had previously been
declared or defined with a different function prototype.
-=item Quantifier in {,} bigger than %d at ===HERE=== in regex m/%s/
+=item Quantifier in {,} bigger than %d before << HERE in regex m/%s/
(F) There is currently a limit to the size of the min and max values of the
-{min,max} construct. The ===HERE=== shows in the regular expression about where
+{min,max} construct. The << HERE shows in the regular expression about where
the problem was discovered. See L<perlre>.
-=item Quantifier unexpected on zero-length expression at ===HERE=== in regex m/%s/
+=item Quantifier unexpected on zero-length expression before << HERE in regex m/%s/
(W regexp) You applied a regular expression quantifier in a place where
it makes no sense, such as on a zero-width assertion. Try putting the
(W internal) The internal sv_replace() function was handed a new SV with
a reference count of other than 1.
-=item Reference to nonexistant group at ===HERE=== in regex m/%s/
+=item Reference to nonexistant group before << HERE in regex m/%s/
(F) You used something like C<\7> in your regular expression, but there are
not at least seven sets of capturing parentheses in the expression. If you
wanted to have the character with value 7 inserted into the regular expression,
prepend a zero to make the number at least two digits: C<\07>
-The ===HERE=== shows in the regular expression about where the problem was
+The << HERE shows in the regular expression about where the problem was
discovered.
=item regexp memory corruption
(W closed) The socket you're sending to got itself closed sometime
before now. Check your logic flow.
-=item Sequence (? incomplete at ===HERE=== mark in regex m/%s/
+=item Sequence (? incomplete before << HERE mark in regex m/%s/
-(F) A regular expression ended with an incomplete extension (?. The ===HERE===
+(F) A regular expression ended with an incomplete extension (?. The <<<HERE
shows in the regular expression about where the problem was discovered. See
L<perlre>.
(F) If the contents of a (?{...}) clause contains braces, they must balance
for Perl to properly detect the end of the clause. See L<perlre>.
-=item Sequence (?%s...) not implemented at ===HERE=== mark in regex m/%s/
+=item Sequence (?%s...) not implemented before << HERE mark in regex m/%s/
(F) A proposed regular expression extension has the character reserved but
-has not yet been written. The ===HERE=== shows in the regular expression about
+has not yet been written. The << HERE shows in the regular expression about
where the problem was discovered. See L<perlre>.
-=item Sequence (?%s...) not recognized at ===HERE=== mark in regex m/%s/
+=item Sequence (?%s...) not recognized before << HERE mark in regex m/%s/
(F) You used a regular expression extension that doesn't make sense.
-The ===HERE=== shows in the regular expression about
+The << HERE shows in the regular expression about
where the problem was discovered.
See L<perlre>.
(F) Your Perl was compiled with B<-D>SETUID_SCRIPTS_ARE_SECURE_NOW, but
a version of the setuid emulator somehow got run anyway.
-=item Switch (?(condition)... contains too many branches at ===HERE=== in regex m/%s/
+=item Switch (?(condition)... contains too many branches before << HERE in regex m/%s/
(F) A (?(condition)if-clause|else-clause) construct can have at most two
branches (the if-clause and the else-clause). If you want one or both to
(?(condition)(?:this|that|other)|else-clause)
-The ===HERE=== shows in the regular expression about where the problem was
+The << HERE shows in the regular expression about where the problem was
discovered. See L<perlre>.
-=item Switch condition not recognized at ===HERE=== in regex m/%s/
+=item Switch condition not recognized before << HERE in regex m/%s/
(F) If the argument to the (?(...)if-clause|else-clause) construct is a
-number, it can be only a number. The ===HERE=== shows in the regular expression
+number, it can be only a number. The << HERE shows in the regular expression
about where the problem was discovered. See L<perlre>.
=item switching effective %s is not implemented
(F) There are no byte-swapping functions for a machine with this byte
order.
-=item Unknown switch condition (?(%.2s at ===HERE=== in regex m/%s/
+=item Unknown switch condition (?(%.2s before << HERE in regex m/%s/
(F) The condition of a (?(condition)if-clause|else-clause) construct is not
known. The condition may be lookaround (the condition is true if the
code evaluates to a true value), or a number (the condition is true if the
set of capturing parentheses named by the number is defined).
-The ===HERE=== shows in the regular expression about where the problem was
+The << HERE shows in the regular expression about where the problem was
discovered. See L<perlre>.
=item Unknown open() mode '%s'
data Perl expected. Someone's very confused, or perhaps trying to
subvert Perl's population of %ENV for nefarious purposes.
-=item unmatched [ at ===HERE=== mark in regex m/%s/
+=item unmatched [ before << HERE mark in regex m/%s/
(F) The brackets around a character class must match. If you wish to
include a closing bracket in a character class, backslash it or put it
-first. See L<perlre>. The ===HERE=== shows in the regular expression about
+first. See L<perlre>. The << HERE shows in the regular expression about
where the escape was discovered.
-=item unmatched ( in regexp at ===HERE=== mark in regex m/%s/
+=item unmatched ( in regexp before << HERE mark in regex m/%s/
(F) Unbackslashed parentheses must always be balanced in regular
expressions. If you're a vi user, the % key is valuable for finding the
recognized by Perl inside character classes. The character was
understood literally.
-=item Unrecognized escape \\%c passed through at ===HERE=== in m/%s/
+=item Unrecognized escape \\%c passed through before << HERE in m/%s/
(W regexp) You used a backslash-character combination which is not
recognized by Perl. This combination appears in an interpolated variable or
a C<'>-delimited regular expression. The character was understood
-literally. The ===HERE=== shows in the regular expression about where the escape
+literally. The << HERE shows in the regular expression about where the escape
was discovered.
reference variables in outer subroutines are called or referenced, they
are automatically rebound to the current values of such variables.
-=item Variable length lookbehind not implemented at ===HERE=== in regex m/%s/
+=item Variable length lookbehind not implemented before << HERE in regex m/%s/
(F) Lookbehind is allowed only for subexpressions whose length is fixed and
-known at compile time. The ===HERE=== shows in the regular expression about where
+known at compile time. The << HERE shows in the regular expression about where
the problem was discovered.
=item Version number must be a constant number
* of t/op/regmesg.t, the tests in t/op/re_tests, and those in
* op/pragma/warn/regcomp.
*/
-#define MARKER1 "=HERE=" /* marker as it appears in the description */
-#define MARKER2 " ===HERE=== " /* marker as it appears within the regex */
+#define MARKER1 "HERE" /* marker as it appears in the description */
+#define MARKER2 " << HERE " /* marker as it appears within the regex */
-#define REPORT_LOCATION " at " MARKER1 " mark in regex m/%.*s" MARKER2 "%s/"
+#define REPORT_LOCATION " before " MARKER1 " mark in regex m/%.*s" MARKER2 "%s/"
/*
* Calls SAVEDESTRUCTOR_X if needed, then calls Perl_croak with the given
/(?{"{"})/ # Check it outside of eval too
EXPECT
Sequence (?{...}) not terminated or not {}-balanced at - line 1, within pattern
-Sequence (?{...}) not terminated or not {}-balanced at =HERE= mark in regex m/(?{ ===HERE=== "{"})/ at - line 1.
+Sequence (?{...}) not terminated or not {}-balanced before HERE mark in regex m/(?{ << HERE "{"})/ at - line 1.
########
/(?{"{"}})/ # Check it outside of eval too
EXPECT
a[b-d] aac y $& ac
a[-b] a- y $& a-
a[b-] a- y $& a-
-a[b-a] - c - Invalid [] range "b-a" at =HERE= mark in regex m/a[b-a ===HERE=== ]/
-a[]b - c - Unmatched [ at =HERE= mark in regex m/a[ ===HERE=== ]b/ at (eval 96) line 1, <TESTS> line 49.
-a[ - c - Unmatched [ at =HERE= mark in regex m/a[ ===HERE=== / at (eval 97) line 1, <TESTS> line 50.
+a[b-a] - c - Invalid [] range "b-a" before HERE mark in regex m/a[b-a << HERE ]/
+a[]b - c - Unmatched [ before HERE mark in regex m/a[ << HERE ]b/ at (eval 96) line 1, <TESTS> line 49.
+a[ - c - Unmatched [ before HERE mark in regex m/a[ << HERE / at (eval 97) line 1, <TESTS> line 50.
a] a] y $& a]
a[]]b a]b y $& a]b
a[^bc]d aed y $& aed
ab|cd abc y $& ab
ab|cd abcd y $& ab
()ef def y $&-$1 ef-
-*a - c - Quantifier follows nothing at =HERE= mark in regex m/* ===HERE=== a/ at (eval 192) line 1, <TESTS> line 98.
-(*)b - c - Quantifier follows nothing at =HERE= mark in regex m/(* ===HERE=== )b/ at (eval 193) line 1, <TESTS> line 99.
+*a - c - Quantifier follows nothing before HERE mark in regex m/* << HERE a/ at (eval 192) line 1, <TESTS> line 98.
+(*)b - c - Quantifier follows nothing before HERE mark in regex m/(* << HERE )b/ at (eval 193) line 1, <TESTS> line 99.
$b b n - -
a\ - c - Search pattern not terminated
a\(b a(b y $&-$1 a(b-
a\(*b ab y $& ab
a\(*b a((b y $& a((b
a\\b a\b y $& a\b
-abc) - c - Unmatched ) at =HERE= mark in regex m/abc) ===HERE=== / at (eval 205) line 1, <TESTS> line 106.
-(abc - c - Unmatched ( at =HERE= mark in regex m/( ===HERE=== abc/ at (eval 206) line 1, <TESTS> line 107.
+abc) - c - Unmatched ) before HERE mark in regex m/abc) << HERE / at (eval 205) line 1, <TESTS> line 106.
+(abc - c - Unmatched ( before HERE mark in regex m/( << HERE abc/ at (eval 206) line 1, <TESTS> line 107.
((a)) abc y $&-$1-$2 a-a-a
(a)b(c) abc y $&-$1-$2 abc-a-c
a+b+c aabbabc y $& abc
a{1,}b{1,}c aabbabc y $& abc
-a** - c - Nested quantifiers at =HERE= mark in regex m/a** ===HERE=== / at (eval 215) line 1, <TESTS> line 112.
+a** - c - Nested quantifiers before HERE mark in regex m/a** << HERE / at (eval 215) line 1, <TESTS> line 112.
a.+?c abcabc y $& abc
(a+|b)* ab y $&-$1 ab-b
(a+|b){0,} ab y $&-$1 ab-b
(a+|b){1,} ab y $&-$1 ab-b
(a+|b)? ab y $&-$1 a-a
(a+|b){0,1} ab y $&-$1 a-a
-)( - c - Unmatched ) at =HERE= mark in regex m/) ===HERE=== (/ at (eval 230) line 1, <TESTS> line 120.
+)( - c - Unmatched ) before HERE mark in regex m/) << HERE (/ at (eval 230) line 1, <TESTS> line 120.
[^ab]* cde y $& cde
abc n - -
a* y $&
'a[b-d]'i AAC y $& AC
'a[-b]'i A- y $& A-
'a[b-]'i A- y $& A-
-'a[b-a]'i - c - Invalid [] range "b-a" at =HERE= mark in regex m/a[b-a ===HERE=== ]/
-'a[]b'i - c - Unmatched [ at =HERE= mark in regex m/a[ ===HERE=== ]b/ at (eval 431) line 1, <TESTS> line 222.
-'a['i - c - Unmatched [ at =HERE= mark in regex m/a[ ===HERE=== / at (eval 432) line 1, <TESTS> line 223.
+'a[b-a]'i - c - Invalid [] range "b-a" before HERE mark in regex m/a[b-a << HERE ]/
+'a[]b'i - c - Unmatched [ before HERE mark in regex m/a[ << HERE ]b/ at (eval 431) line 1, <TESTS> line 222.
+'a['i - c - Unmatched [ before HERE mark in regex m/a[ << HERE / at (eval 432) line 1, <TESTS> line 223.
'a]'i A] y $& A]
'a[]]b'i A]B y $& A]B
'a[^bc]d'i AED y $& AED
'ab|cd'i ABC y $& AB
'ab|cd'i ABCD y $& AB
'()ef'i DEF y $&-$1 EF-
-'*a'i - c - Quantifier follows nothing at =HERE= mark in regex m/* ===HERE=== a/ at (eval 455) line 1, <TESTS> line 235.
-'(*)b'i - c - Quantifier follows nothing at =HERE= mark in regex m/(* ===HERE=== )b/ at (eval 456) line 1, <TESTS> line 236.
+'*a'i - c - Quantifier follows nothing before HERE mark in regex m/* << HERE a/ at (eval 455) line 1, <TESTS> line 235.
+'(*)b'i - c - Quantifier follows nothing before HERE mark in regex m/(* << HERE )b/ at (eval 456) line 1, <TESTS> line 236.
'$b'i B n - -
'a\'i - c - Search pattern not terminated
'a\(b'i A(B y $&-$1 A(B-
'a\(*b'i AB y $& AB
'a\(*b'i A((B y $& A((B
'a\\b'i A\B y $& A\B
-'abc)'i - c - Unmatched ) at =HERE= mark in regex m/abc) ===HERE=== / at (eval 468) line 1, <TESTS> line 243.
-'(abc'i - c - Unmatched ( at =HERE= mark in regex m/( ===HERE=== abc/ at (eval 469) line 1, <TESTS> line 244.
+'abc)'i - c - Unmatched ) before HERE mark in regex m/abc) << HERE / at (eval 468) line 1, <TESTS> line 243.
+'(abc'i - c - Unmatched ( before HERE mark in regex m/( << HERE abc/ at (eval 469) line 1, <TESTS> line 244.
'((a))'i ABC y $&-$1-$2 A-A-A
'(a)b(c)'i ABC y $&-$1-$2 ABC-A-C
'a+b+c'i AABBABC y $& ABC
'a{1,}b{1,}c'i AABBABC y $& ABC
-'a**'i - c - Nested quantifiers at =HERE= mark in regex m/a** ===HERE=== / at (eval 478) line 1, <TESTS> line 249.
+'a**'i - c - Nested quantifiers before HERE mark in regex m/a** << HERE / at (eval 478) line 1, <TESTS> line 249.
'a.+?c'i ABCABC y $& ABC
'a.*?c'i ABCABC y $& ABC
'a.{0,5}?c'i ABCABC y $& ABC
'(a+|b)?'i AB y $&-$1 A-A
'(a+|b){0,1}'i AB y $&-$1 A-A
'(a+|b){0,1}?'i AB y $&-$1 -
-')('i - c - Unmatched ) at =HERE= mark in regex m/) ===HERE=== (/ at (eval 499) line 1, <TESTS> line 260.
+')('i - c - Unmatched ) before HERE mark in regex m/) << HERE (/ at (eval 499) line 1, <TESTS> line 260.
'[^ab]*'i CDE y $& CDE
'abc'i n - -
'a*'i y $&
(?<!c)b cb n - -
(?<!c)b b y - -
(?<!c)b b y $& b
-(?<%)b - c - Sequence (?<%...) not recognized at =HERE= mark in regex m/(?<% ===HERE=== )b/
+(?<%)b - c - Sequence (?<%...) not recognized before HERE mark in regex m/(?<% << HERE )b/
(?:..)*a aba y $& aba
(?:..)*?a aba y $& a
^(?:b|a(?=(.)))*\1 abc y $& ab
'(ab)\d\1'i ab4Ab y $1 ab
foo\w*\d{4}baz foobar1234baz y $& foobar1234baz
a(?{})b cabd y $& ab
-a(?{)b - c - Sequence (?{...}) not terminated or not {}-balanced at =HERE= mark in regex m/a(?{ ===HERE=== )b/ at (eval 780) line 1, <TESTS> line 400.
-a(?{{})b - c - Sequence (?{...}) not terminated or not {}-balanced at =HERE= mark in regex m/a(?{ ===HERE=== {})b/ at (eval 781) line 1, <TESTS> line 401.
+a(?{)b - c - Sequence (?{...}) not terminated or not {}-balanced before HERE mark in regex m/a(?{ << HERE )b/ at (eval 780) line 1, <TESTS> line 400.
+a(?{{})b - c - Sequence (?{...}) not terminated or not {}-balanced before HERE mark in regex m/a(?{ << HERE {})b/ at (eval 781) line 1, <TESTS> line 401.
a(?{}})b - c -
-a(?{"{"})b - c - Sequence (?{...}) not terminated or not {}-balanced at =HERE= mark in regex m/a(?{ ===HERE=== "{"})b/ at (eval 783) line 1, <TESTS> line 403.
+a(?{"{"})b - c - Sequence (?{...}) not terminated or not {}-balanced before HERE mark in regex m/a(?{ << HERE "{"})b/ at (eval 783) line 1, <TESTS> line 403.
a(?{"\{"})b cabd y $& ab
a(?{"{"}})b - c - Unmatched right curly bracket
a(?{$bl="\{"}).b caxbd y $bl {
^(\(+)?blah(?(1)(\)))$ blah y ($2) ()
^(\(+)?blah(?(1)(\)))$ blah) n - -
^(\(+)?blah(?(1)(\)))$ (blah n - -
-(?(1?)a|b) a c - Switch condition not recognized at =HERE= mark in regex m/(?(1? ===HERE=== )a|b)/ at (eval 868) line 1, <TESTS> line 444.
+(?(1?)a|b) a c - Switch condition not recognized before HERE mark in regex m/(?(1? << HERE )a|b)/ at (eval 868) line 1, <TESTS> line 444.
(?(1)a|b|c) a c - Switch (?(condition)... contains too many branches
(?(?{0})a|b) a n - -
(?(?{0})b|a) a y $& a
([[:]+) a:[b]: y $1 :[
([[=]+) a=[b]= y $1 =[
([[.]+) a.[b]. y $1 .[
-[a[:xyz: - c - Unmatched [ at =HERE= mark in regex m/[ ===HERE=== a[:xyz:/ at (eval 950) line 1, <TESTS> line 476.
-[a[:xyz:] - c - POSIX class [:xyz:] unknown at =HERE= mark in regex m/[a[:xyz:] ===HERE=== /
+[a[:xyz: - c - Unmatched [ before HERE mark in regex m/[ << HERE a[:xyz:/ at (eval 950) line 1, <TESTS> line 476.
+[a[:xyz:] - c - POSIX class [:xyz:] unknown before HERE mark in regex m/[a[:xyz:] << HERE /
[a[:]b[:c] abc y $& abc
-([a[:xyz:]b]+) pbaq c - POSIX class [:xyz:] unknown at =HERE= mark in regex m/([a[:xyz:] ===HERE=== b]+)/
+([a[:xyz:]b]+) pbaq c - POSIX class [:xyz:] unknown before HERE mark in regex m/([a[:xyz:] << HERE b]+)/
[a[:]b[:c] abc y $& abc
([[:alpha:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd
([[:alnum:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 ABcd01Xy
([[:^word:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 -- ${nulnul}${ffff}
([[:^upper:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 cd01
([[:^xdigit:]]+) ABcd01Xy__-- ${nulnul}${ffff} y $1 Xy__-- ${nulnul}${ffff}
-[[:foo:]] - c - POSIX class [:foo:] unknown at =HERE= mark in regex m/[[:foo:] ===HERE=== ]/
-[[:^foo:]] - c - POSIX class [:^foo:] unknown at =HERE= mark in regex m/[[:^foo:] ===HERE=== ]/
+[[:foo:]] - c - POSIX class [:foo:] unknown before HERE mark in regex m/[[:foo:] << HERE ]/
+[[:^foo:]] - c - POSIX class [:^foo:] unknown before HERE mark in regex m/[[:^foo:] << HERE ]/
((?>a+)b) aaab y $1 aaab
(?>(a+))b aaab y $1 aaa
((?>[^()]+)|\([^()]*\))+ ((abc(ade)ufh()()x y $& abc(ade)ufh()()x
## arrays below. The {#} is a meta-marker -- it marks where the marker should
## go.
-my $marker1 = "=HERE=";
-my $marker2 = " ===HERE=== ";
+my $marker1 = "HERE";
+my $marker2 = " << HERE ";
##
## Key-value pairs of code/error of code that should have fatal errors.
my $inf_p1 = $inf_m1 + 2;
my @death =
(
- '/[[=foo=]]/' => 'POSIX syntax [= =] is reserved for future extensions at {#} mark in regex m/[[=foo=]{#}]/',
+ '/[[=foo=]]/' => 'POSIX syntax [= =] is reserved for future extensions before {#} mark in regex m/[[=foo=]{#}]/',
- '/(?<= .*)/' => 'Variable length lookbehind not implemented at {#} mark in regex m/(?<= .*){#}/',
+ '/(?<= .*)/' => 'Variable length lookbehind not implemented before {#} mark in regex m/(?<= .*){#}/',
- '/(?<= x{1000})/' => 'Lookbehind longer than 255 not implemented at {#} mark in regex m/(?<= x{1000}){#}/',
+ '/(?<= x{1000})/' => 'Lookbehind longer than 255 not implemented before {#} mark in regex m/(?<= x{1000}){#}/',
- '/(?@)/' => 'Sequence (?@...) not implemented at {#} mark in regex m/(?@{#})/',
+ '/(?@)/' => 'Sequence (?@...) not implemented before {#} mark in regex m/(?@{#})/',
- '/(?{ 1/' => 'Sequence (?{...}) not terminated or not {}-balanced at {#} mark in regex m/(?{{#} 1/',
+ '/(?{ 1/' => 'Sequence (?{...}) not terminated or not {}-balanced before {#} mark in regex m/(?{{#} 1/',
- '/(?(1x))/' => 'Switch condition not recognized at {#} mark in regex m/(?(1x{#}))/',
+ '/(?(1x))/' => 'Switch condition not recognized before {#} mark in regex m/(?(1x{#}))/',
- '/(?(1)x|y|z)/' => 'Switch (?(condition)... contains too many branches at {#} mark in regex m/(?(1)x|y|{#}z)/',
+ '/(?(1)x|y|z)/' => 'Switch (?(condition)... contains too many branches before {#} mark in regex m/(?(1)x|y|{#}z)/',
- '/(?(x)y|x)/' => 'Unknown switch condition (?(x) at {#} mark in regex m/(?({#}x)y|x)/',
+ '/(?(x)y|x)/' => 'Unknown switch condition (?(x) before {#} mark in regex m/(?({#}x)y|x)/',
- '/(?/' => 'Sequence (? incomplete at {#} mark in regex m/(?{#}/',
+ '/(?/' => 'Sequence (? incomplete before {#} mark in regex m/(?{#}/',
- '/(?;x/' => 'Sequence (?;...) not recognized at {#} mark in regex m/(?;{#}x/',
- '/(?<;x/' => 'Sequence (?<;...) not recognized at {#} mark in regex m/(?<;{#}x/',
+ '/(?;x/' => 'Sequence (?;...) not recognized before {#} mark in regex m/(?;{#}x/',
+ '/(?<;x/' => 'Sequence (?<;...) not recognized before {#} mark in regex m/(?<;{#}x/',
- '/((x)/' => 'Unmatched ( at {#} mark in regex m/({#}(x)/',
+ '/((x)/' => 'Unmatched ( before {#} mark in regex m/({#}(x)/',
- "/x{$inf_p1}/" => "Quantifier in {,} bigger than $inf_m1 at {#} mark in regex m/x{{#}$inf_p1}/",
+ "/x{$inf_p1}/" => "Quantifier in {,} bigger than $inf_m1 before {#} mark in regex m/x{{#}$inf_p1}/",
- '/x{3,1}/' => 'Can\'t do {n,m} with n > m at {#} mark in regex m/x{3,1}{#}/',
+ '/x{3,1}/' => 'Can\'t do {n,m} with n > m before {#} mark in regex m/x{3,1}{#}/',
- '/x**/' => 'Nested quantifiers at {#} mark in regex m/x**{#}/',
+ '/x**/' => 'Nested quantifiers before {#} mark in regex m/x**{#}/',
- '/x[/' => 'Unmatched [ at {#} mark in regex m/x[{#}/',
+ '/x[/' => 'Unmatched [ before {#} mark in regex m/x[{#}/',
- '/*/', => 'Quantifier follows nothing at {#} mark in regex m/*{#}/',
+ '/*/', => 'Quantifier follows nothing before {#} mark in regex m/*{#}/',
- '/\p{x/' => 'Missing right brace on \p{} at {#} mark in regex m/\p{{#}x/',
+ '/\p{x/' => 'Missing right brace on \p{} before {#} mark in regex m/\p{{#}x/',
- 'use utf8; /[\p{x]/' => 'Missing right brace on \p{} at {#} mark in regex m/[\p{{#}x]/',
+ 'use utf8; /[\p{x]/' => 'Missing right brace on \p{} before {#} mark in regex m/[\p{{#}x]/',
- '/(x)\2/' => 'Reference to nonexistent group at {#} mark in regex m/(x)\2{#}/',
+ '/(x)\2/' => 'Reference to nonexistent group before {#} mark in regex m/(x)\2{#}/',
'my $m = chr(92); $m =~ $m', => 'Trailing \ in regex m/\/',
- '/\x{1/' => 'Missing right brace on \x{} at {#} mark in regex m/\x{{#}1/',
+ '/\x{1/' => 'Missing right brace on \x{} before {#} mark in regex m/\x{{#}1/',
- 'use utf8; /[\x{X]/' => 'Missing right brace on \x{} at {#} mark in regex m/[\x{{#}X]/',
+ 'use utf8; /[\x{X]/' => 'Missing right brace on \x{} before {#} mark in regex m/[\x{{#}X]/',
- '/\x{x}/' => 'Can\'t use \x{} without \'use utf8\' declaration at {#} mark in regex m/\x{x}{#}/',
+ '/\x{x}/' => 'Can\'t use \x{} without \'use utf8\' declaration before {#} mark in regex m/\x{x}{#}/',
- '/[[:barf:]]/' => 'POSIX class [:barf:] unknown at {#} mark in regex m/[[:barf:]{#}]/',
+ '/[[:barf:]]/' => 'POSIX class [:barf:] unknown before {#} mark in regex m/[[:barf:]{#}]/',
- '/[[=barf=]]/' => 'POSIX syntax [= =] is reserved for future extensions at {#} mark in regex m/[[=barf=]{#}]/',
+ '/[[=barf=]]/' => 'POSIX syntax [= =] is reserved for future extensions before {#} mark in regex m/[[=barf=]{#}]/',
- '/[[.barf.]]/' => 'POSIX syntax [. .] is reserved for future extensions at {#} mark in regex m/[[.barf.]{#}]/',
+ '/[[.barf.]]/' => 'POSIX syntax [. .] is reserved for future extensions before {#} mark in regex m/[[.barf.]{#}]/',
- '/[z-a]/' => 'Invalid [] range "z-a" at {#} mark in regex m/[z-a{#}]/',
+ '/[z-a]/' => 'Invalid [] range "z-a" before {#} mark in regex m/[z-a{#}]/',
);
##
## Key-value pairs of code/error of code that should have non-fatal warnings.
##
@warning = (
- "m/(?p{ 'a' })/" => "(?p{}) is deprecated - use (??{}) at {#} mark in regex m/(?p{#}{ 'a' })/",
+ "m/(?p{ 'a' })/" => "(?p{}) is deprecated - use (??{}) before {#} mark in regex m/(?p{#}{ 'a' })/",
- 'm/\b*/' => '\b* matches null string many times at {#} mark in regex m/\b*{#}/',
+ 'm/\b*/' => '\b* matches null string many times before {#} mark in regex m/\b*{#}/',
- 'm/[:blank:]/' => 'POSIX syntax [: :] belongs inside character classes at {#} mark in regex m/[:blank:]{#}/',
+ 'm/[:blank:]/' => 'POSIX syntax [: :] belongs inside character classes before {#} mark in regex m/[:blank:]{#}/',
- "m'[\\y]'" => 'Unrecognized escape \y in character class passed through at {#} mark in regex m/[\y{#}]/',
+ "m'[\\y]'" => 'Unrecognized escape \y in character class passed through before {#} mark in regex m/[\y{#}]/',
- 'm/[a-\d]/' => 'False [] range "a-\d" at {#} mark in regex m/[a-\d{#}]/',
- 'm/[\w-x]/' => 'False [] range "\w-" at {#} mark in regex m/[\w-{#}x]/',
- "m'\\y'" => 'Unrecognized escape \y passed through at {#} mark in regex m/\y{#}/',
+ 'm/[a-\d]/' => 'False [] range "a-\d" before {#} mark in regex m/[a-\d{#}]/',
+ 'm/[\w-x]/' => 'False [] range "\w-" before {#} mark in regex m/[\w-{#}x]/',
+ "m'\\y'" => 'Unrecognized escape \y passed through before {#} mark in regex m/\y{#}/',
);
my $total = (@death + @warning)/2;
no warnings 'regexp' ;
$a =~ /(?=a)*/ ;
EXPECT
-(?=a)* matches null string many times at =HERE= mark in regex m/(?=a)* ===HERE=== / at - line 4.
+(?=a)* matches null string many times before HERE mark in regex m/(?=a)* << HERE / at - line 4.
########
# regcomp.c [S_study_chunk]
use warnings 'regexp' ;
no warnings 'regexp' ;
/(?=a)?/;
EXPECT
-Quantifier unexpected on zero-length expression at =HERE= mark in regex m/(?=a)? ===HERE=== / at - line 4.
+Quantifier unexpected on zero-length expression before HERE mark in regex m/(?=a)? << HERE / at - line 4.
########
# regcomp.c [S_regatom]
$x = '\m' ;
no warnings 'regexp' ;
$a =~ /a$x/ ;
EXPECT
-Unrecognized escape \m passed through at =HERE= mark in regex m/a\m ===HERE=== / at - line 4.
+Unrecognized escape \m passed through before HERE mark in regex m/a\m << HERE / at - line 4.
########
# regcomp.c [S_regpposixcc S_checkposixcc]
BEGIN { $ENV{PERL_DESTRUCT_LEVEL} = 0 unless $ENV{PERL_DESTRUCT_LEVEL} > 3 }
/[:zog:]/;
/[[:zog:]]/;
EXPECT
-POSIX syntax [: :] belongs inside character classes at =HERE= mark in regex m/[:alpha:] ===HERE=== / at - line 5.
-POSIX syntax [: :] belongs inside character classes at =HERE= mark in regex m/[:zog:] ===HERE=== / at - line 6.
-POSIX class [:zog:] unknown at =HERE= mark in regex m/[[:zog:] ===HERE=== ]/
+POSIX syntax [: :] belongs inside character classes before HERE mark in regex m/[:alpha:] << HERE / at - line 5.
+POSIX syntax [: :] belongs inside character classes before HERE mark in regex m/[:zog:] << HERE / at - line 6.
+POSIX class [:zog:] unknown before HERE mark in regex m/[[:zog:] << HERE ]/
########
# regcomp.c [S_checkposixcc]
BEGIN { $ENV{PERL_DESTRUCT_LEVEL} = 0 unless $ENV{PERL_DESTRUCT_LEVEL} > 3 }
no warnings 'regexp' ;
/[.zog.]/;
EXPECT
-POSIX syntax [. .] belongs inside character classes at =HERE= mark in regex m/[.zog.] ===HERE=== / at - line 5.
-POSIX syntax [. .] is reserved for future extensions at =HERE= mark in regex m/[.zog.] ===HERE=== /
+POSIX syntax [. .] belongs inside character classes before HERE mark in regex m/[.zog.] << HERE / at - line 5.
+POSIX syntax [. .] is reserved for future extensions before HERE mark in regex m/[.zog.] << HERE /
########
# regcomp.c [S_checkposixcc]
BEGIN { $ENV{PERL_DESTRUCT_LEVEL} = 0 unless $ENV{PERL_DESTRUCT_LEVEL} > 3 }
no warnings 'regexp' ;
/[[.zog.]]/;
EXPECT
-POSIX syntax [. .] is reserved for future extensions at =HERE= mark in regex m/[[.zog.] ===HERE=== ]/
+POSIX syntax [. .] is reserved for future extensions before HERE mark in regex m/[[.zog.] << HERE ]/
########
# regcomp.c [S_regclass]
$_ = "";
/[[:alpha:]-[:digit:]]/;
/[[:digit:]-[:alpha:]]/;
EXPECT
-False [] range "a-\d" at =HERE= mark in regex m/[a-\d ===HERE=== ]/ at - line 5.
-False [] range "\d-" at =HERE= mark in regex m/[\d- ===HERE=== b]/ at - line 6.
-False [] range "\s-" at =HERE= mark in regex m/[\s- ===HERE=== \d]/ at - line 7.
-False [] range "\d-" at =HERE= mark in regex m/[\d- ===HERE=== \s]/ at - line 8.
-False [] range "a-[:digit:]" at =HERE= mark in regex m/[a-[:digit:] ===HERE=== ]/ at - line 9.
-False [] range "[:digit:]-" at =HERE= mark in regex m/[[:digit:]- ===HERE=== b]/ at - line 10.
-False [] range "[:alpha:]-" at =HERE= mark in regex m/[[:alpha:]- ===HERE=== [:digit:]]/ at - line 11.
-False [] range "[:digit:]-" at =HERE= mark in regex m/[[:digit:]- ===HERE=== [:alpha:]]/ at - line 12.
+False [] range "a-\d" before HERE mark in regex m/[a-\d << HERE ]/ at - line 5.
+False [] range "\d-" before HERE mark in regex m/[\d- << HERE b]/ at - line 6.
+False [] range "\s-" before HERE mark in regex m/[\s- << HERE \d]/ at - line 7.
+False [] range "\d-" before HERE mark in regex m/[\d- << HERE \s]/ at - line 8.
+False [] range "a-[:digit:]" before HERE mark in regex m/[a-[:digit:] << HERE ]/ at - line 9.
+False [] range "[:digit:]-" before HERE mark in regex m/[[:digit:]- << HERE b]/ at - line 10.
+False [] range "[:alpha:]-" before HERE mark in regex m/[[:alpha:]- << HERE [:digit:]]/ at - line 11.
+False [] range "[:digit:]-" before HERE mark in regex m/[[:digit:]- << HERE [:alpha:]]/ at - line 12.
########
# regcomp.c [S_regclassutf8]
BEGIN {
/[[:alpha:]-[:digit:]]/;
/[[:digit:]-[:alpha:]]/;
EXPECT
-False [] range "a-\d" at =HERE= mark in regex m/[a-\d ===HERE=== ]/ at - line 12.
-False [] range "\d-" at =HERE= mark in regex m/[\d- ===HERE=== b]/ at - line 13.
-False [] range "\s-" at =HERE= mark in regex m/[\s- ===HERE=== \d]/ at - line 14.
-False [] range "\d-" at =HERE= mark in regex m/[\d- ===HERE=== \s]/ at - line 15.
-False [] range "a-[:digit:]" at =HERE= mark in regex m/[a-[:digit:] ===HERE=== ]/ at - line 16.
-False [] range "[:digit:]-" at =HERE= mark in regex m/[[:digit:]- ===HERE=== b]/ at - line 17.
-False [] range "[:alpha:]-" at =HERE= mark in regex m/[[:alpha:]- ===HERE=== [:digit:]]/ at - line 18.
-False [] range "[:digit:]-" at =HERE= mark in regex m/[[:digit:]- ===HERE=== [:alpha:]]/ at - line 19.
+False [] range "a-\d" before HERE mark in regex m/[a-\d << HERE ]/ at - line 12.
+False [] range "\d-" before HERE mark in regex m/[\d- << HERE b]/ at - line 13.
+False [] range "\s-" before HERE mark in regex m/[\s- << HERE \d]/ at - line 14.
+False [] range "\d-" before HERE mark in regex m/[\d- << HERE \s]/ at - line 15.
+False [] range "a-[:digit:]" before HERE mark in regex m/[a-[:digit:] << HERE ]/ at - line 16.
+False [] range "[:digit:]-" before HERE mark in regex m/[[:digit:]- << HERE b]/ at - line 17.
+False [] range "[:alpha:]-" before HERE mark in regex m/[[:alpha:]- << HERE [:digit:]]/ at - line 18.
+False [] range "[:digit:]-" before HERE mark in regex m/[[:digit:]- << HERE [:alpha:]]/ at - line 19.
########
# regcomp.c [S_regclass S_regclassutf8]
use warnings 'regexp' ;
no warnings 'regexp' ;
$a =~ /[a\zb]/ ;
EXPECT
-Unrecognized escape \z in character class passed through at =HERE= mark in regex m/[a\z ===HERE=== b]/ at - line 3.
+Unrecognized escape \z in character class passed through before HERE mark in regex m/[a\z << HERE b]/ at - line 3.