/[pcre]/code/trunk/doc/perltest.txt
ViewVC logotype

Diff of /code/trunk/doc/perltest.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 456 by ph10, Fri Oct 2 08:53:31 2009 UTC revision 871 by ph10, Sat Jan 14 16:20:44 2012 UTC
# Line 3  The perltest program Line 3  The perltest program
3    
4  The perltest.pl script tests Perl's regular expressions; it has the same  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  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  input patterns can be followed only by Perl's lower case modifiers and certain
7  used by pcretest), which is recognized and handled by the program.  other pcretest modifiers that are either handled or ignored:
8    
9  The data lines are processed as Perl double-quoted strings, so if they contain    /+   recognized and handled by perltest
10  " $ or @ characters, these have to be escaped. For this reason, all such    /++  the second + is ignored
11  characters in testinput1 and testinput4 are escaped so that they can be used    /8   recognized and handled by perltest
12  for perltest as well as for pcretest. The special upper case pattern    /J   ignored
13  modifiers such as /A that pcretest recognizes, and its special data line    /K   ignored
14  escapes, are not used in these files. The output should be identical, apart    /W   ignored
15  from the initial identifying banner.    /S   ignored
16      /SS  ignored
17      /Y   ignored
18    
19    The pcretest \Y escape in data lines is removed before matching. The data lines
20    are processed as Perl double-quoted strings, so if they contain " $ or @
21    characters, these have to be escaped. For this reason, all such characters in
22    the Perl-compatible testinput1 file are escaped so that they can be used for
23    perltest as well as for pcretest. The special upper case pattern modifiers such
24    as /A that pcretest recognizes, and its special data line escapes, are not used
25    in the Perl-compatible test file. The output should be identical, apart from
26    the initial identifying banner.
27    
28  The perltest.pl script can also test UTF-8 features. It recognizes the special  The perltest.pl script can also test UTF-8 features. It recognizes the special
29  modifier /8 that pcretest uses to invoke UTF-8 functionality. The testinput4  modifier /8 that pcretest uses to invoke UTF-8 functionality. The testinput4
30  file can be fed to perltest to run compatible UTF-8 tests.  and testinput6 files can be fed to perltest to run compatible UTF-8 tests.
31    However, it is necessary to add "use utf8; require Encode" to the script to
32    make this work correctly. I have not managed to find a way to handle this
33    automatically.
34    
35  The other testinput files are not suitable for feeding to perltest.pl, since  The other testinput files are not suitable for feeding to perltest.pl, since
36  they make use of the special upper case modifiers and escapes that pcretest  they make use of the special upper case modifiers and escapes that pcretest
37  uses to test some features of PCRE. Some of these files also contains malformed  uses to test certain features of PCRE. Some of these files also contain
38  regular expressions, in order to check that PCRE diagnoses them correctly.  malformed regular expressions, in order to check that PCRE diagnoses them
39    correctly.
40    
41  Philip Hazel  Philip Hazel
42  September 2009  January 2012

Legend:
Removed from v.456  
changed lines
  Added in v.871

  ViewVC Help
Powered by ViewVC 1.1.5