15759b3d2Safresh1__END__ 25759b3d2Safresh1# NAME \N{U+too large} on 64-bit machine 35759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} < 8 && "Not 64 bit" 45759b3d2Safresh1qr/\N{U+7FFFFFFFFFFFFFFF}/; 55759b3d2Safresh1qr/\N{U+1_0000_0000_0000_0000}/; 65759b3d2Safresh1EXPECT 7*de8cc8edSafresh1Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+1_0000_0000_0000_0000 <-- HERE }/ at - line 2. 85759b3d2Safresh1######## 95759b3d2Safresh1# NAME \N{U+too large} on 32-bit machine 105759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} > 4 && "Not 32 bit" 115759b3d2Safresh1qr/\N{U+7FFFFFFF}/; 125759b3d2Safresh1qr/\N{U+1_0000_0000}/; 135759b3d2Safresh1EXPECT 14*de8cc8edSafresh1Use of code point 0x1_0000_0000 is not allowed; the permissible max is 0x7FFFFFFF in regex; marked by <-- HERE in m/\N{U+1_0000_0000 <-- HERE }/ at - line 2. 155759b3d2Safresh1######## 165759b3d2Safresh1# NAME \N{U+100.too large} on 64-bit machine 175759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} < 8 && "Not 64 bit" 185759b3d2Safresh1qr/\N{U+100.7FFFFFFFFFFFFFFF}/; 195759b3d2Safresh1qr/\N{U+100.1_0000_0000_0000_0000}/; 205759b3d2Safresh1EXPECT 21*de8cc8edSafresh1Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000_0000_0000 <-- HERE }/ at - line 2. 225759b3d2Safresh1######## 235759b3d2Safresh1# NAME \N{U+100.too large} on 32-bit machine 245759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} > 4 && "Not 32 bit" 255759b3d2Safresh1qr/\N{U+100.7FFFFFFF}/; 265759b3d2Safresh1qr/\N{U+100.1_0000_0000}/; 275759b3d2Safresh1EXPECT 28*de8cc8edSafresh1Use of code point 0x1_0000_0000 is not allowed; the permissible max is 0x7FFFFFFF in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000 <-- HERE }/ at - line 2. 295759b3d2Safresh1######## 305759b3d2Safresh1# NAME \N{U+.} 315759b3d2Safresh1my $p00="\\N{U+.}"; qr/$p00/; 325759b3d2Safresh1EXPECT 335759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+. <-- HERE }/ at - line 1. 345759b3d2Safresh1######## 355759b3d2Safresh1# NAME \N{U+100.} 365759b3d2Safresh1my $p00="\\N{U+100.}"; qr/$p00/; 375759b3d2Safresh1EXPECT 385759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+100. <-- HERE }/ at - line 1. 395759b3d2Safresh1######## 405759b3d2Safresh1# NAME \N{U+_100} 415759b3d2Safresh1my $p00="\\N{U+_100}"; qr/$p00/; 425759b3d2Safresh1EXPECT 435759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+_ <-- HERE 100}/ at - line 1. 445759b3d2Safresh1######## 455759b3d2Safresh1# NAME \N{U+100_} 465759b3d2Safresh1my $p00="\\N{U+100_}"; qr/$p00/; 475759b3d2Safresh1EXPECT 485759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+100_ <-- HERE }/ at - line 1. 495759b3d2Safresh1######## 505759b3d2Safresh1# NAME [\xDF\N{U+.}] 515759b3d2Safresh1# SKIP ? ord("A") != 65 && "Test valid only on ASCII machines" 525759b3d2Safresh1my $p00="[\\xDF\\N{U+.}]"; qr/$p00/ui; 535759b3d2Safresh1# The sharp s under /i recodes the parse, and this was causing a segfault when 545759b3d2Safresh1# the error message referred to the original pattern 555759b3d2Safresh1EXPECT 565759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/[\xDF\N{U+. <-- HERE }]/ at - line 1. 575759b3d2Safresh1######## 585759b3d2Safresh1# NAME [\x59\N{U+.}] 595759b3d2Safresh1# SKIP ? ord("A") == 65 && "Test valid only on EBCDIC machines" 605759b3d2Safresh1my $p00="[\\x59\\N{U+.}]"; qr/$p00/ui; 615759b3d2Safresh1# The sharp s under /i recodes the parse, and this was causing a segfault when 625759b3d2Safresh1# the error message referred to the original pattern 635759b3d2Safresh1EXPECT 645759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/[\x59\N{U+. <-- HERE }]/ at - line 1. 655759b3d2Safresh1######## 66*de8cc8edSafresh1# NAME \N{U+...} leading underscore not allowed, medial is allowed 67*de8cc8edSafresh1my $p00='\N{U+FF_FF}'; qr/$p00/; 68*de8cc8edSafresh1$p00='\N{U+_FF}'; qr/$p00/; 69*de8cc8edSafresh1EXPECT 70*de8cc8edSafresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+_ <-- HERE FF}/ at - line 2. 71*de8cc8edSafresh1######## 72f3efcd01Safresh1# NAME ${^RE_COMPILE_RECURSION_LIMIT} [perl #131551] 73f3efcd01Safresh1BEGIN { ${^RE_COMPILE_RECURSION_LIMIT} = ${^RE_COMPILE_RECURSION_LIMIT} = 2; } 74f3efcd01Safresh1qr/(a)/; 75f3efcd01Safresh1qr/((a))/; 76f3efcd01Safresh1EXPECT 77f3efcd01Safresh1Too many nested open parens in regex; marked by <-- HERE in m/(( <-- HERE a))/ at - line 3. 78f3efcd01Safresh1######## 79*de8cc8edSafresh1# NAME \K not permitted in lookahead 80*de8cc8edSafresh1qr/(?=a\Ka)a/; 81*de8cc8edSafresh1EXPECT 82*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=a\K <-- HERE a)a/ at - line 1. 83*de8cc8edSafresh1######## 84*de8cc8edSafresh1# NAME \K not permitted in lookahead (alpha) 85*de8cc8edSafresh1no warnings 'experimental::alpha_assertions'; 86*de8cc8edSafresh1qr/(*positive_lookahead:a\Ka)a/; 87*de8cc8edSafresh1EXPECT 88*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*positive_lookahead:a\K <-- HERE a)a/ at - line 2. 89*de8cc8edSafresh1######## 90*de8cc8edSafresh1# NAME \K not permitted in negative lookahead 91*de8cc8edSafresh1qr/(?!a\Ka)a/; 92*de8cc8edSafresh1EXPECT 93*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?!a\K <-- HERE a)a/ at - line 1. 94*de8cc8edSafresh1######## 95*de8cc8edSafresh1# NAME \K not permitted in negative lookahead (alpha) 96*de8cc8edSafresh1no warnings 'experimental::alpha_assertions'; 97*de8cc8edSafresh1qr/(*negative_lookahead:a\Ka)a/; 98*de8cc8edSafresh1EXPECT 99*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*negative_lookahead:a\K <-- HERE a)a/ at - line 2. 100*de8cc8edSafresh1######## 101*de8cc8edSafresh1# NAME \K not permitted in lookbehind 102*de8cc8edSafresh1qr/(?<=a\Ka)a/; 103*de8cc8edSafresh1EXPECT 104*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<=a\K <-- HERE a)a/ at - line 1. 105*de8cc8edSafresh1######## 106*de8cc8edSafresh1# NAME \K not permitted in lookbehind (alpha) 107*de8cc8edSafresh1no warnings 'experimental::alpha_assertions'; 108*de8cc8edSafresh1qr/(*positive_lookbehind:a\Ka)a/; 109*de8cc8edSafresh1EXPECT 110*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*positive_lookbehind:a\K <-- HERE a)a/ at - line 2. 111*de8cc8edSafresh1######## 112*de8cc8edSafresh1# NAME \K not permitted in negative lookbehind 113*de8cc8edSafresh1qr/(?<!a\Ka)a/; 114*de8cc8edSafresh1EXPECT 115*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<!a\K <-- HERE a)a/ at - line 1. 116*de8cc8edSafresh1######## 117*de8cc8edSafresh1# NAME \K not permitted in negative lookbehind (alpha) 118*de8cc8edSafresh1no warnings 'experimental::alpha_assertions'; 119*de8cc8edSafresh1qr/(*negative_lookbehind:a\Ka)a/; 120*de8cc8edSafresh1EXPECT 121*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*negative_lookbehind:a\K <-- HERE a)a/ at - line 2. 122*de8cc8edSafresh1######## 123*de8cc8edSafresh1# NAME \K nesting in lookahead after lookahead 124*de8cc8edSafresh1qr{(?=(?=x)x\K)x}; 125*de8cc8edSafresh1EXPECT 126*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?=x)x\K <-- HERE )x/ at - line 1. 127*de8cc8edSafresh1######## 128*de8cc8edSafresh1# NAME \K nesting in lookahead after negative lookahead 129*de8cc8edSafresh1qr{(?=(?!y)x\K)x}; 130*de8cc8edSafresh1EXPECT 131*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?!y)x\K <-- HERE )x/ at - line 1. 132*de8cc8edSafresh1######## 133*de8cc8edSafresh1# NAME \K nesting in lookahead in negative lookahead 134*de8cc8edSafresh1qr{(?=(?!y\K)x)x}; 135*de8cc8edSafresh1EXPECT 136*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?!y\K <-- HERE )x)x/ at - line 1. 137*de8cc8edSafresh1######## 138*de8cc8edSafresh1# NAME \K nesting in lookahead in lookahead 139*de8cc8edSafresh1qr{(?=(?=x\K)x)x}; 140*de8cc8edSafresh1EXPECT 141*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?=x\K <-- HERE )x)x/ at - line 1. 142*de8cc8edSafresh1######## 143*de8cc8edSafresh1# NAME \K nesting in lookbehind after lookbehind 144*de8cc8edSafresh1qr{(?<=(?<=x)x\K)x}; 145*de8cc8edSafresh1EXPECT 146*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<=(?<=x)x\K <-- HERE )x/ at - line 1. 147*de8cc8edSafresh1######## 148*de8cc8edSafresh1# NAME \K nesting in lookahead after lookbehind 149*de8cc8edSafresh1qr{(?=(?<=x)x\K)x}; 150*de8cc8edSafresh1EXPECT 151*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?<=x)x\K <-- HERE )x/ at - line 1. 152*de8cc8edSafresh1######## 153*de8cc8edSafresh1# NAME \K nesting in lookbehind after lookahead 154*de8cc8edSafresh1qr{(?<=(?=x)x\K)x}; 155*de8cc8edSafresh1EXPECT 156*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<=(?=x)x\K <-- HERE )x/ at - line 1. 157*de8cc8edSafresh1######## 158*de8cc8edSafresh1# NAME \K nesting in negative lookbehind after lookahead 159*de8cc8edSafresh1qr{(?<!(?=x)x\K)x}; 160*de8cc8edSafresh1EXPECT 161*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<!(?=x)x\K <-- HERE )x/ at - line 1. 162*de8cc8edSafresh1######## 163*de8cc8edSafresh1# NAME \K is permitted after the lookahead GH#18123 164*de8cc8edSafresh1qr/(?=(?=x)x)\K/; 165*de8cc8edSafresh1qr/(?!(?=x)x)\K/; 166*de8cc8edSafresh1qr/(?=(?!x)x)\K/; 167*de8cc8edSafresh1qr/(?!(?!x)x)\K/; 168*de8cc8edSafresh1qr/(?<=(?=x)x)\K/; 169*de8cc8edSafresh1qr/(?<!(?=x)x)\K/; 170*de8cc8edSafresh1qr/(?<=(?!x)x)\K/; 171*de8cc8edSafresh1qr/(?<!(?!x)x)\K/; 172*de8cc8edSafresh1qr/(?=(?<=x)x)\K/; 173*de8cc8edSafresh1qr/(?!(?<=x)x)\K/; 174*de8cc8edSafresh1qr/(?=(?<!x)x)\K/; 175*de8cc8edSafresh1qr/(?!(?<!x)x)\K/; 176*de8cc8edSafresh1qr/(?<=(?<=x)x)\K/; 177*de8cc8edSafresh1qr/(?<!(?<=x)x)\K/; 178*de8cc8edSafresh1qr/(?<=(?<!x)x)\K/; 179*de8cc8edSafresh1qr/(?<!(?<!x)x)\K/; 180*de8cc8edSafresh1EXPECT 181*de8cc8edSafresh1OPTIONS nonfatal 182