xref: /openbsd/gnu/usr.bin/perl/t/lib/warnings/regcomp (revision 09467b48)
1  regcomp.c	These tests have been moved to t/re/reg_mesg.t
2		except for those that explicitly test line numbers
3                and those that don't have a <-- HERE in them, and those that
4                die plus have warnings, or otherwise require special handling
5
6__END__
7use warnings 'regexp';
8$r=qr/(??{ q"\\b+" })/;
9"a" =~ /a$r/; # warning should come from this line
10EXPECT
11\b+ matches null string many times in regex; marked by <-- HERE in m/\b+ <-- HERE / at - line 3.
12########
13# regcomp.c
14use warnings 'digit' ;
15my $a = qr/\o{1238456}\x{100}/;
16my $a = qr/[\o{6548321}]\x{100}/;
17no warnings 'digit' ;
18my $a = qr/\o{1238456}\x{100}/;
19my $a = qr/[\o{6548321}]\x{100}/;
20EXPECT
21Non-octal character '8'.  Resolved as "\o{123}" at - line 3.
22Non-octal character '8'.  Resolved as "\o{654}" at - line 4.
23########
24# regcomp.c
25BEGIN {
26    if (ord('A') == 193) {
27        print "SKIPPED\n# Different results on EBCDIC";
28        exit 0;
29    }
30}
31use warnings;
32$a = qr/\c,/;
33$a = qr/[\c,]/;
34no warnings 'syntax';
35$a = qr/\c,/;
36$a = qr/[\c,]/;
37EXPECT
38"\c," is more clearly written simply as "l" at - line 9.
39"\c," is more clearly written simply as "l" at - line 10.
40########
41# This is because currently a different error is output under
42# use re 'strict', so can't go in reg_mesg.t
43# NAME perl #126261, error message causes segfault
44# OPTION fatal
45 qr/abc[\x{df}[.00./i
46EXPECT
47Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE \x{df}[.00./ at - line 4.
48########
49# NAME perl #126261, with 'use utf8'
50# OPTION fatal
51use utf8;
52no warnings 'utf8';
53qr/abc[fi[.00./i;
54EXPECT
55Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE fi[.00./ at - line 4.
56########
57# NAME perl qr/(?[[[:word]]])/ XXX Why is 'syntax' lc?
58# OPTION fatal
59use warnings;
60no warnings 'experimental::regex_sets';
61qr/(?[[[:word]]])/;
62EXPECT
63Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/(?[[[:word <-- HERE ]]])/ at - line 4.
64Unexpected ']' with no following ')' in (?[... in regex; marked by <-- HERE in m/(?[[[:word]] <-- HERE ])/ at - line 4.
65########
66# NAME qr/(?[ [[:digit: ])/
67# OPTION fatal
68use warnings;
69no warnings 'experimental::regex_sets';
70qr/(?[[[:digit: ])/;
71EXPECT
72Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[[:digit: ] <-- HERE )/ at - line 4.
73syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[[:digit: ]) <-- HERE / at - line 4.
74########
75# NAME qr/(?[ [:digit: ])/
76# OPTION fatal
77use warnings;
78no warnings 'experimental::regex_sets';
79qr/(?[[:digit: ])/
80EXPECT
81Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[:digit: ] <-- HERE )/ at - line 4.
82syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[:digit: ]) <-- HERE / at - line 4.
83########
84# NAME [perl #126141]
85# OPTION fatal
86eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\"
87EXPECT
88]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2.
89]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2.
90########
91# NAME [perl #123417]
92# OPTION fatal
93qr/[\N{}]/;
94EXPECT
95Unknown charname '' at - line 2, within pattern
96Execution of - aborted due to compilation errors.
97########
98# NAME [perl #123417]
99# OPTION fatal
100qr/\N{}/;
101EXPECT
102Unknown charname '' at - line 2, within pattern
103Execution of - aborted due to compilation errors.
104########
105# NAME [perl #131868]
106use warnings;
107my $qr = qr {
108    (?(DEFINE)
109      (?<digit>   [0-9])
110      (?<digits>  (?&digit){4})
111    )
112    ^(?&digits)$
113}x;
114EXPECT
115########
116