path: root/doc/perltest.txt
diff options
Diffstat (limited to 'doc/perltest.txt')
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/perltest.txt b/doc/perltest.txt
new file mode 100644
index 0000000..bb1a52a
--- /dev/null
+++ b/doc/perltest.txt
@@ -0,0 +1,42 @@
+The perltest program
+The script tests Perl's regular expressions; it has the same
+specification as pcretest, and so can be given identical input, except that
+input patterns can be followed only by Perl's lower case modifiers and certain
+other pcretest modifiers that are either handled or ignored:
+ /+ recognized and handled by perltest
+ /++ the second + is ignored
+ /8 recognized and handled by perltest
+ /J ignored
+ /K ignored
+ /W ignored
+ /S ignored
+ /SS ignored
+ /Y ignored
+The pcretest \Y escape in data lines is removed before matching. The data lines
+are processed as Perl double-quoted strings, so if they contain " $ or @
+characters, these have to be escaped. For this reason, all such characters in
+the Perl-compatible testinput1 file are escaped so that they can be used for
+perltest as well as for pcretest. The special upper case pattern modifiers such
+as /A that pcretest recognizes, and its special data line escapes, are not used
+in the Perl-compatible test file. The output should be identical, apart from
+the initial identifying banner.
+The script can also test UTF-8 features. It recognizes the special
+modifier /8 that pcretest uses to invoke UTF-8 functionality. The testinput4
+and testinput6 files can be fed to perltest to run compatible UTF-8 tests.
+However, it is necessary to add "use utf8; require Encode" to the script to
+make this work correctly. I have not managed to find a way to handle this
+The other testinput files are not suitable for feeding to, since
+they make use of the special upper case modifiers and escapes that pcretest
+uses to test certain features of PCRE. Some of these files also contain
+malformed regular expressions, in order to check that PCRE diagnoses them
+Philip Hazel
+January 2012