regcomp.c These tests have been moved to t/re/reg_mesg.t except for those that explicitly test line numbers and those that don't have a <-- HERE in them, and those that die plus have warnings, or otherwise require special handling __END__ use warnings 'regexp'; $r=qr/(??{ q"\\b+" })/; "a" =~ /a$r/; # warning should come from this line EXPECT \b+ matches null string many times in regex; marked by <-- HERE in m/\b+ <-- HERE / at - line 3. ######## # regcomp.c use warnings 'digit' ; my $a = qr/\o{1238456}\x{100}/; my $a = qr/[\o{6548321}]\x{100}/; no warnings 'digit' ; my $a = qr/\o{1238456}\x{100}/; my $a = qr/[\o{6548321}]\x{100}/; EXPECT Non-octal character '8' terminates \o early. Resolved as "\o{123}" in regex; marked by <-- HERE in m/\o{1238456} <-- HERE \x{100}/ at - line 3. Non-octal character '8' terminates \o early. Resolved as "\o{654}" in regex; marked by <-- HERE in m/[\o{6548321} <-- HERE ]\x{100}/ at - line 4. ######## # regcomp.c BEGIN { if (ord('A') == 193) { print "SKIPPED\n# Different results on EBCDIC"; exit 0; } } use warnings; $a = qr/\c,/; $a = qr/[\c,]/; no warnings 'syntax'; $a = qr/\c,/; $a = qr/[\c,]/; EXPECT "\c," is more clearly written simply as "l" in regex; marked by <-- HERE in m/\c, <-- HERE / at - line 9. "\c," is more clearly written simply as "l" in regex; marked by <-- HERE in m/[\c, <-- HERE ]/ at - line 10. ######## # This is because currently a different error is output under # use re 'strict', so can't go in reg_mesg.t # NAME perl #126261, error message causes segfault # OPTION fatal qr/abc[\x{df}[.00./i EXPECT Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE \x{df}[.00./ at - line 4. ######## # NAME perl #126261, with 'use utf8' # OPTION fatal use utf8; no warnings 'utf8'; qr/abc[fi[.00./i; EXPECT Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE fi[.00./ at - line 4. ######## # NAME perl qr/(?[[[:word]]])/ XXX Why is 'syntax' lc? # OPTION fatal use warnings; no warnings 'experimental::regex_sets'; qr/(?[[[:word]]])/; EXPECT Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/(?[[[:word <-- HERE ]]])/ at - line 4. Unexpected ']' with no following ')' in (?[... in regex; marked by <-- HERE in m/(?[[[:word]] <-- HERE ])/ at - line 4. ######## # NAME qr/(?[ [[:digit: ])/ # OPTION fatal use warnings; no warnings 'experimental::regex_sets'; qr/(?[[[:digit: ])/; EXPECT Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[[:digit: ] <-- HERE )/ at - line 4. syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[[:digit: ]) <-- HERE / at - line 4. ######## # NAME qr/(?[ [:digit: ])/ # OPTION fatal use warnings; no warnings 'experimental::regex_sets'; qr/(?[[:digit: ])/ EXPECT Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[:digit: ] <-- HERE )/ at - line 4. syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[:digit: ]) <-- HERE / at - line 4. ######## # NAME [perl #126141] # OPTION fatal eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\" EXPECT ]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2. ]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2. ######## # NAME [perl #123417] # OPTION fatal qr/[\N{}]/; EXPECT Unknown charname '' at - line 2, within pattern Execution of - aborted due to compilation errors. ######## # NAME [perl #123417] # OPTION fatal qr/\N{}/; EXPECT Unknown charname '' at - line 2, within pattern Execution of - aborted due to compilation errors. ######## # NAME [perl #131868] use warnings; my $qr = qr { (?(DEFINE) (? [0-9]) (? (?&digit){4}) ) ^(?&digits)$ }x; EXPECT ######## # NAME Warn on 32-bit code points # SKIP ? $Config{uvsize} < 8 use warnings 'portable'; qr/\x{8000_0000}/; qr/[\x{8000_0000}]/; qr/\o{20_000_000_000}/; qr/[\o{20_000_000_000}]/; EXPECT Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/\x{8000_0000} <-- HERE / at - line 2. Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/[\x{8000_0000} <-- HERE ]/ at - line 3. Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/\o{20_000_000_000} <-- HERE / at - line 4. Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/[\o{20_000_000_000} <-- HERE ]/ at - line 5.