1 The perltest program 2 -------------------- 3 4 The perltest.pl script tests Perl's regular expressions; it has the same 5 specification as pcretest, and so can be given identical input, except that 6 input patterns can be followed only by Perl's lower case modifiers and /+ (as 7 used by pcretest), which is recognized and handled by the program. 8 9 The data lines are processed as Perl double-quoted strings, so if they contain 10 " $ or @ characters, these have to be escaped. For this reason, all such 11 characters in testinput1, testinput4, testinput6, and testinput11 are escaped 12 so that they can be used for perltest as well as for pcretest. The special 13 upper case pattern modifiers such as /A that pcretest recognizes, and its 14 special data line escapes, are not used in these files. The output should be 15 identical, apart from the initial identifying banner. 16 17 The perltest.pl script can also test UTF-8 features. It recognizes the special 18 modifier /8 that pcretest uses to invoke UTF-8 functionality. The testinput4 19 and testinput6 files can be fed to perltest to run compatible UTF-8 tests. 20 However, it is necessary to add "use utf8;" to the script to make this work 21 correctly. 22 23 The testinput11 file contains tests that use features of Perl 5.10, so does not 24 work with Perl 5.8. 25 26 The other testinput files are not suitable for feeding to perltest.pl, since 27 they make use of the special upper case modifiers and escapes that pcretest 28 uses to test some features of PCRE. Some of these files also contains malformed 29 regular expressions, in order to check that PCRE diagnoses them correctly. 30 31 Philip Hazel 32 October 2009 33