1/-- This set of tests checks the API, internals, and non-Perl stuff for UTF 2 support, excluding Unicode properties. However, tests that give different 3 results in 8-bit and 16-bit modes are excluded (see tests 16 and 17). --/ 4 5< forbid W 6 7/\x{110000}/8DZ 8 9/\o{4200000}/8DZ 10 11/\x{ffffffff}/8 12 13/\o{37777777777}/8 14 15/\x{100000000}/8 16 17/\o{77777777777}/8 18 19/\x{d800}/8 20 21/\o{154000}/8 22 23/\x{dfff}/8 24 25/\o{157777}/8 26 27/\x{d7ff}/8 28 29/\o{153777}/8 30 31/\x{e000}/8 32 33/\o{170000}/8 34 35/^\x{100}a\x{1234}/8 36 \x{100}a\x{1234}bcd 37 38/\x{0041}\x{2262}\x{0391}\x{002e}/DZ8 39 \x{0041}\x{2262}\x{0391}\x{002e} 40 41/.{3,5}X/DZ8 42 \x{212ab}\x{212ab}\x{212ab}\x{861}X 43 44/.{3,5}?/DZ8 45 \x{212ab}\x{212ab}\x{212ab}\x{861} 46 47/(?<=\C)X/8 48 Should produce an error diagnostic 49 50/^[ab]/8DZ 51 bar 52 *** Failers 53 c 54 \x{ff} 55 \x{100} 56 57/^[^ab]/8DZ 58 c 59 \x{ff} 60 \x{100} 61 *** Failers 62 aaa 63 64/\x{100}*(\d+|"(?1)")/8 65 1234 66 "1234" 67 \x{100}1234 68 "\x{100}1234" 69 \x{100}\x{100}12ab 70 \x{100}\x{100}"12" 71 *** Failers 72 \x{100}\x{100}abcd 73 74/\x{100}*/8DZ 75 76/a\x{100}*/8DZ 77 78/ab\x{100}*/8DZ 79 80/\x{100}*A/8DZ 81 A 82 83/\x{100}*\d(?R)/8DZ 84 85/[Z\x{100}]/8DZ 86 Z\x{100} 87 \x{100} 88 \x{100}Z 89 *** Failers 90 91/[\x{200}-\x{100}]/8 92 93/[Ā-Ą]/8 94 \x{100} 95 \x{104} 96 *** Failers 97 \x{105} 98 \x{ff} 99 100/[z-\x{100}]/8DZ 101 102/[z\Qa-d]Ā\E]/8DZ 103 \x{100} 104 Ā 105 106/[\xFF]/DZ 107 >\xff< 108 109/[^\xFF]/DZ 110 111/[Ä-Ü]/8 112 Ö # Matches without Study 113 \x{d6} 114 115/[Ä-Ü]/8S 116 Ö <-- Same with Study 117 \x{d6} 118 119/[\x{c4}-\x{dc}]/8 120 Ö # Matches without Study 121 \x{d6} 122 123/[\x{c4}-\x{dc}]/8S 124 Ö <-- Same with Study 125 \x{d6} 126 127/[^\x{100}]abc(xyz(?1))/8DZ 128 129/[ab\x{100}]abc(xyz(?1))/8DZ 130 131/(\x{100}(b(?2)c))?/DZ8 132 133/(\x{100}(b(?2)c)){0,2}/DZ8 134 135/(\x{100}(b(?1)c))?/DZ8 136 137/(\x{100}(b(?1)c)){0,2}/DZ8 138 139/\W/8 140 A.B 141 A\x{100}B 142 143/\w/8 144 \x{100}X 145 146/^\ሴ/8DZ 147 148/\x{100}*\d/8DZ 149 150/\x{100}*\s/8DZ 151 152/\x{100}*\w/8DZ 153 154/\x{100}*\D/8DZ 155 156/\x{100}*\S/8DZ 157 158/\x{100}*\W/8DZ 159 160/()()()()()()()()()() 161 ()()()()()()()()()() 162 ()()()()()()()()()() 163 ()()()()()()()()()() 164 A (x) (?41) B/8x 165 AxxB 166 167/^[\x{100}\E-\Q\E\x{150}]/BZ8 168 169/^[\QĀ\E-\QŐ\E]/BZ8 170 171/^abc./mgx8<any> 172 abc1 \x0aabc2 \x0babc3xx \x0cabc4 \x0dabc5xx \x0d\x0aabc6 \x{0085}abc7 \x{2028}abc8 \x{2029}abc9 JUNK 173 174/abc.$/mgx8<any> 175 abc1\x0a abc2\x0b abc3\x0c abc4\x0d abc5\x0d\x0a abc6\x{0085} abc7\x{2028} abc8\x{2029} abc9 176 177/^a\Rb/8<bsr_unicode> 178 a\nb 179 a\rb 180 a\r\nb 181 a\x0bb 182 a\x0cb 183 a\x{85}b 184 a\x{2028}b 185 a\x{2029}b 186 ** Failers 187 a\n\rb 188 189/^a\R*b/8<bsr_unicode> 190 ab 191 a\nb 192 a\rb 193 a\r\nb 194 a\x0bb 195 a\x0c\x{2028}\x{2029}b 196 a\x{85}b 197 a\n\rb 198 a\n\r\x{85}\x0cb 199 200/^a\R+b/8<bsr_unicode> 201 a\nb 202 a\rb 203 a\r\nb 204 a\x0bb 205 a\x0c\x{2028}\x{2029}b 206 a\x{85}b 207 a\n\rb 208 a\n\r\x{85}\x0cb 209 ** Failers 210 ab 211 212/^a\R{1,3}b/8<bsr_unicode> 213 a\nb 214 a\n\rb 215 a\n\r\x{85}b 216 a\r\n\r\nb 217 a\r\n\r\n\r\nb 218 a\n\r\n\rb 219 a\n\n\r\nb 220 ** Failers 221 a\n\n\n\rb 222 a\r 223 224/\H\h\V\v/8 225 X X\x0a 226 X\x09X\x0b 227 ** Failers 228 \x{a0} X\x0a 229 230/\H*\h+\V?\v{3,4}/8 231 \x09\x20\x{a0}X\x0a\x0b\x0c\x0d\x0a 232 \x09\x20\x{a0}\x0a\x0b\x0c\x0d\x0a 233 \x09\x20\x{a0}\x0a\x0b\x0c 234 ** Failers 235 \x09\x20\x{a0}\x0a\x0b 236 237/\H\h\V\v/8 238 \x{3001}\x{3000}\x{2030}\x{2028} 239 X\x{180e}X\x{85} 240 ** Failers 241 \x{2009} X\x0a 242 243/\H*\h+\V?\v{3,4}/8 244 \x{1680}\x{180e}\x{2007}X\x{2028}\x{2029}\x0c\x0d\x0a 245 \x09\x{205f}\x{a0}\x0a\x{2029}\x0c\x{2028}\x0a 246 \x09\x20\x{202f}\x0a\x0b\x0c 247 ** Failers 248 \x09\x{200a}\x{a0}\x{2028}\x0b 249 250/[\h]/8BZ 251 >\x{1680} 252 253/[\h]{3,}/8BZ 254 >\x{1680}\x{180e}\x{2000}\x{2003}\x{200a}\x{202f}\x{205f}\x{3000}< 255 256/[\v]/8BZ 257 258/[\H]/8BZ 259 260/[\V]/8BZ 261 262/.*$/8<any> 263 \x{1ec5} 264 265/a\Rb/I8<bsr_anycrlf> 266 a\rb 267 a\nb 268 a\r\nb 269 ** Failers 270 a\x{85}b 271 a\x0bb 272 273/a\Rb/I8<bsr_unicode> 274 a\rb 275 a\nb 276 a\r\nb 277 a\x{85}b 278 a\x0bb 279 ** Failers 280 a\x{85}b\<bsr_anycrlf> 281 a\x0bb\<bsr_anycrlf> 282 283/a\R?b/I8<bsr_anycrlf> 284 a\rb 285 a\nb 286 a\r\nb 287 ** Failers 288 a\x{85}b 289 a\x0bb 290 291/a\R?b/I8<bsr_unicode> 292 a\rb 293 a\nb 294 a\r\nb 295 a\x{85}b 296 a\x0bb 297 ** Failers 298 a\x{85}b\<bsr_anycrlf> 299 a\x0bb\<bsr_anycrlf> 300 301/.*a.*=.b.*/8<ANY> 302 QQQ\x{2029}ABCaXYZ=!bPQR 303 ** Failers 304 a\x{2029}b 305 \x61\xe2\x80\xa9\x62 306 307/[[:a\x{100}b:]]/8 308 309/a[^]b/<JS>8 310 a\x{1234}b 311 a\nb 312 ** Failers 313 ab 314 315/a[^]+b/<JS>8 316 aXb 317 a\nX\nX\x{1234}b 318 ** Failers 319 ab 320 321/(\x{de})\1/ 322 \x{de}\x{de} 323 324/X/8f<any> 325 A\x{1ec5}ABCXYZ 326 327/Xa{2,4}b/8 328 X\P 329 Xa\P 330 Xaa\P 331 Xaaa\P 332 Xaaaa\P 333 334/Xa{2,4}?b/8 335 X\P 336 Xa\P 337 Xaa\P 338 Xaaa\P 339 Xaaaa\P 340 341/Xa{2,4}+b/8 342 X\P 343 Xa\P 344 Xaa\P 345 Xaaa\P 346 Xaaaa\P 347 348/X\x{123}{2,4}b/8 349 X\P 350 X\x{123}\P 351 X\x{123}\x{123}\P 352 X\x{123}\x{123}\x{123}\P 353 X\x{123}\x{123}\x{123}\x{123}\P 354 355/X\x{123}{2,4}?b/8 356 X\P 357 X\x{123}\P 358 X\x{123}\x{123}\P 359 X\x{123}\x{123}\x{123}\P 360 X\x{123}\x{123}\x{123}\x{123}\P 361 362/X\x{123}{2,4}+b/8 363 X\P 364 X\x{123}\P 365 X\x{123}\x{123}\P 366 X\x{123}\x{123}\x{123}\P 367 X\x{123}\x{123}\x{123}\x{123}\P 368 369/X\x{123}{2,4}b/8 370 Xx\P 371 X\x{123}x\P 372 X\x{123}\x{123}x\P 373 X\x{123}\x{123}\x{123}x\P 374 X\x{123}\x{123}\x{123}\x{123}x\P 375 376/X\x{123}{2,4}?b/8 377 Xx\P 378 X\x{123}x\P 379 X\x{123}\x{123}x\P 380 X\x{123}\x{123}\x{123}x\P 381 X\x{123}\x{123}\x{123}\x{123}x\P 382 383/X\x{123}{2,4}+b/8 384 Xx\P 385 X\x{123}x\P 386 X\x{123}\x{123}x\P 387 X\x{123}\x{123}\x{123}x\P 388 X\x{123}\x{123}\x{123}\x{123}x\P 389 390/X\d{2,4}b/8 391 X\P 392 X3\P 393 X33\P 394 X333\P 395 X3333\P 396 397/X\d{2,4}?b/8 398 X\P 399 X3\P 400 X33\P 401 X333\P 402 X3333\P 403 404/X\d{2,4}+b/8 405 X\P 406 X3\P 407 X33\P 408 X333\P 409 X3333\P 410 411/X\D{2,4}b/8 412 X\P 413 Xa\P 414 Xaa\P 415 Xaaa\P 416 Xaaaa\P 417 418/X\D{2,4}?b/8 419 X\P 420 Xa\P 421 Xaa\P 422 Xaaa\P 423 Xaaaa\P 424 425/X\D{2,4}+b/8 426 X\P 427 Xa\P 428 Xaa\P 429 Xaaa\P 430 Xaaaa\P 431 432/X\D{2,4}b/8 433 X\P 434 X\x{123}\P 435 X\x{123}\x{123}\P 436 X\x{123}\x{123}\x{123}\P 437 X\x{123}\x{123}\x{123}\x{123}\P 438 439/X\D{2,4}?b/8 440 X\P 441 X\x{123}\P 442 X\x{123}\x{123}\P 443 X\x{123}\x{123}\x{123}\P 444 X\x{123}\x{123}\x{123}\x{123}\P 445 446/X\D{2,4}+b/8 447 X\P 448 X\x{123}\P 449 X\x{123}\x{123}\P 450 X\x{123}\x{123}\x{123}\P 451 X\x{123}\x{123}\x{123}\x{123}\P 452 453/X[abc]{2,4}b/8 454 X\P 455 Xa\P 456 Xaa\P 457 Xaaa\P 458 Xaaaa\P 459 460/X[abc]{2,4}?b/8 461 X\P 462 Xa\P 463 Xaa\P 464 Xaaa\P 465 Xaaaa\P 466 467/X[abc]{2,4}+b/8 468 X\P 469 Xa\P 470 Xaa\P 471 Xaaa\P 472 Xaaaa\P 473 474/X[abc\x{123}]{2,4}b/8 475 X\P 476 X\x{123}\P 477 X\x{123}\x{123}\P 478 X\x{123}\x{123}\x{123}\P 479 X\x{123}\x{123}\x{123}\x{123}\P 480 481/X[abc\x{123}]{2,4}?b/8 482 X\P 483 X\x{123}\P 484 X\x{123}\x{123}\P 485 X\x{123}\x{123}\x{123}\P 486 X\x{123}\x{123}\x{123}\x{123}\P 487 488/X[abc\x{123}]{2,4}+b/8 489 X\P 490 X\x{123}\P 491 X\x{123}\x{123}\P 492 X\x{123}\x{123}\x{123}\P 493 X\x{123}\x{123}\x{123}\x{123}\P 494 495/X[^a]{2,4}b/8 496 X\P 497 Xz\P 498 Xzz\P 499 Xzzz\P 500 Xzzzz\P 501 502/X[^a]{2,4}?b/8 503 X\P 504 Xz\P 505 Xzz\P 506 Xzzz\P 507 Xzzzz\P 508 509/X[^a]{2,4}+b/8 510 X\P 511 Xz\P 512 Xzz\P 513 Xzzz\P 514 Xzzzz\P 515 516/X[^a]{2,4}b/8 517 X\P 518 X\x{123}\P 519 X\x{123}\x{123}\P 520 X\x{123}\x{123}\x{123}\P 521 X\x{123}\x{123}\x{123}\x{123}\P 522 523/X[^a]{2,4}?b/8 524 X\P 525 X\x{123}\P 526 X\x{123}\x{123}\P 527 X\x{123}\x{123}\x{123}\P 528 X\x{123}\x{123}\x{123}\x{123}\P 529 530/X[^a]{2,4}+b/8 531 X\P 532 X\x{123}\P 533 X\x{123}\x{123}\P 534 X\x{123}\x{123}\x{123}\P 535 X\x{123}\x{123}\x{123}\x{123}\P 536 537/(Y)X\1{2,4}b/8 538 YX\P 539 YXY\P 540 YXYY\P 541 YXYYY\P 542 YXYYYY\P 543 544/(Y)X\1{2,4}?b/8 545 YX\P 546 YXY\P 547 YXYY\P 548 YXYYY\P 549 YXYYYY\P 550 551/(Y)X\1{2,4}+b/8 552 YX\P 553 YXY\P 554 YXYY\P 555 YXYYY\P 556 YXYYYY\P 557 558/(\x{123})X\1{2,4}b/8 559 \x{123}X\P 560 \x{123}X\x{123}\P 561 \x{123}X\x{123}\x{123}\P 562 \x{123}X\x{123}\x{123}\x{123}\P 563 \x{123}X\x{123}\x{123}\x{123}\x{123}\P 564 565/(\x{123})X\1{2,4}?b/8 566 \x{123}X\P 567 \x{123}X\x{123}\P 568 \x{123}X\x{123}\x{123}\P 569 \x{123}X\x{123}\x{123}\x{123}\P 570 \x{123}X\x{123}\x{123}\x{123}\x{123}\P 571 572/(\x{123})X\1{2,4}+b/8 573 \x{123}X\P 574 \x{123}X\x{123}\P 575 \x{123}X\x{123}\x{123}\P 576 \x{123}X\x{123}\x{123}\x{123}\P 577 \x{123}X\x{123}\x{123}\x{123}\x{123}\P 578 579/\bthe cat\b/8 580 the cat\P 581 the cat\P\P 582 583/abcd*/8 584 xxxxabcd\P 585 xxxxabcd\P\P 586 587/abcd*/i8 588 xxxxabcd\P 589 xxxxabcd\P\P 590 XXXXABCD\P 591 XXXXABCD\P\P 592 593/abc\d*/8 594 xxxxabc1\P 595 xxxxabc1\P\P 596 597/(a)bc\1*/8 598 xxxxabca\P 599 xxxxabca\P\P 600 601/abc[de]*/8 602 xxxxabcde\P 603 xxxxabcde\P\P 604 605/X\W{3}X/8 606 \PX 607 608/\sxxx\s/8T1 609 AB\x{85}xxx\x{a0}XYZ 610 AB\x{a0}xxx\x{85}XYZ 611 612/\S \S/8T1 613 \x{a2} \x{84} 614 615'A#хц'8x<any>BZ 616 617'A#хц 618 PQ'8x<any>BZ 619 620/a+#хaa 621 z#XX?/8x<any>BZ 622 623/a+#хaa 624 z#х?/8x<any>BZ 625 626/\g{A}xxx#bXX(?'A'123) 626(?'A'456)/8x<any>BZ 627 628/\g{A}xxx#bх(?'A'123) 628(?'A'456)/8x<any>BZ 629 630/^\cģ/8 631 632/(\R*)(.)/s8 633 \r\n 634 \r\r\n\n\r 635 \r\r\n\n\r\n 636 637/(\R)*(.)/s8 638 \r\n 639 \r\r\n\n\r 640 \r\r\n\n\r\n 641 642/[^\x{1234}]+/iS8I 643 644/[^\x{1234}]+?/iS8I 645 646/[^\x{1234}]++/iS8I 647 648/[^\x{1234}]{2}/iS8I 649 650//<bsr_anycrlf><bsr_unicode> 651 652/f.*/ 653 \P\Pfor 654 655/f.*/s 656 \P\Pfor 657 658/f.*/8 659 \P\Pfor 660 661/f.*/8s 662 \P\Pfor 663 664/\x{d7ff}\x{e000}/8 665 666/\x{d800}/8 667 668/\x{dfff}/8 669 670/\h+/8 671 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 672 \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000} 673 674/[\h\x{e000}]+/8BZ 675 \x{1681}\x{200b}\x{1680}\x{2000}\x{202f}\x{3000} 676 \x{3001}\x{2fff}\x{200a}\x{a0}\x{2000} 677 678/\H+/8 679 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 680 \x{2000}\x{200a}\x{1fff}\x{200b} 681 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 682 \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001} 683 684/[\H\x{d7ff}]+/8BZ 685 \x{1680}\x{180e}\x{167f}\x{1681}\x{180d}\x{180f} 686 \x{2000}\x{200a}\x{1fff}\x{200b} 687 \x{202f}\x{205f}\x{202e}\x{2030}\x{205e}\x{2060} 688 \x{a0}\x{3000}\x{9f}\x{a1}\x{2fff}\x{3001} 689 690/\v+/8 691 \x{2027}\x{2030}\x{2028}\x{2029} 692 \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d 693 694/[\v\x{e000}]+/8BZ 695 \x{2027}\x{2030}\x{2028}\x{2029} 696 \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d 697 698/\V+/8 699 \x{2028}\x{2029}\x{2027}\x{2030} 700 \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86} 701 702/[\V\x{d7ff}]+/8BZ 703 \x{2028}\x{2029}\x{2027}\x{2030} 704 \x{85}\x0a\x0b\x0c\x0d\x09\x0e\x{84}\x{86} 705 706/\R+/8<bsr_unicode> 707 \x{2027}\x{2030}\x{2028}\x{2029} 708 \x09\x0e\x{84}\x{86}\x{85}\x0a\x0b\x0c\x0d 709 710/(..)\1/8 711 ab\P 712 aba\P 713 abab\P 714 715/(..)\1/8i 716 ab\P 717 abA\P 718 aBAb\P 719 720/(..)\1{2,}/8 721 ab\P 722 aba\P 723 abab\P 724 ababa\P 725 ababab\P 726 ababab\P\P 727 abababa\P 728 abababa\P\P 729 730/(..)\1{2,}/8i 731 ab\P 732 aBa\P 733 aBAb\P 734 AbaBA\P 735 abABAb\P 736 aBAbaB\P\P 737 abABabA\P 738 abaBABa\P\P 739 740/(..)\1{2,}?x/8i 741 ab\P 742 abA\P 743 aBAb\P 744 abaBA\P 745 abAbaB\P 746 abaBabA\P 747 abAbABaBx\P 748 749/./8<CRLF> 750 \r\P 751 \r\P\P 752 753/.{2,3}/8<CRLF> 754 \r\P 755 \r\P\P 756 \r\r\P 757 \r\r\P\P 758 \r\r\r\P 759 \r\r\r\P\P 760 761/.{2,3}?/8<CRLF> 762 \r\P 763 \r\P\P 764 \r\r\P 765 \r\r\P\P 766 \r\r\r\P 767 \r\r\r\P\P 768 769/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZ 770 771/[^\x{100}][^\x{1234}][^\x{ffff}][^\x{10000}][^\x{10ffff}]/8BZi 772 773/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZ 774 775/[^\x{100}]*[^\x{10000}]+[^\x{10ffff}]??[^\x{8000}]{4,}[^\x{7fff}]{2,9}?[^\x{fffff}]{5,6}+/8BZi 776 777/(?<=\x{1234}\x{1234})\bxy/I8 778 779/(?<!^)ETA/8 780 ETA 781 782/\u0100/<JS>8BZ 783 784/[\u0100-\u0200]/<JS>8BZ 785 786/\ud800/<JS>8 787 788/^a+[a\x{200}]/8BZ 789 aa 790 791/[b-d\x{200}-\x{250}]*[ae-h]?#[\x{200}-\x{250}]{0,8}[\x00-\xff]*#[\x{200}-\x{250}]+[a-z]/8BZ 792 793/[^\xff]*PRUNE:\x{100}abc(xyz(?1))/8DZ 794 795/(?<=\K\x{17f})/8g+ 796 \x{17f}\x{17f}\x{17f}\x{17f}\x{17f} 797 798/(?<=\K\x{17f})/8G+ 799 \x{17f}\x{17f}\x{17f}\x{17f}\x{17f} 800 801/-- End of testinput5 --/ 802