From ed7efc79ab6ea9f03d275ec3a285b8416f9c9bfa Mon Sep 17 00:00:00 2001
From: Karl Williamson
Date: Sun, 10 Apr 2011 18:05:52 -0600
Subject: [PATCH] perlre.pod: Update for 5.14
---
pod/perlre.pod | 299 +++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 225 insertions(+), 74 deletions(-)
diff --git a/pod/perlre.pod b/pod/perlre.pod
index 387c820..fa7f3ec 100644
--- a/pod/perlre.pod
+++ b/pod/perlre.pod
@@ -53,12 +53,34 @@ Do case-insensitive pattern matching.
If C
X X
@@ -79,18 +101,21 @@ of the g and c modifiers.
X X X X
These modifiers, new in 5.14, affect which character-set semantics
-(Unicode, ASCII, etc.) are used, as described below.
+(Unicode, ASCII, etc.) are used, as described below in
+L.
=back
These are usually written as "the C modifier", even though the delimiter
in question might not really be a slash. The modifiers C
may also be embedded within the regular expression itself using
-the C<(?...)> construct.
+the C<(?...)> construct, see L below.
The C, C, C, C and C modifiers need a little more
explanation.
+=head3 /x
+
C tells
the regular expression parser to ignore most whitespace that is neither
backslashed nor within a character class. You can use this to break up
@@ -118,80 +143,211 @@ in C<\p{...}> there can be spaces that follow the Unicode rules, for which see
L.
X
-C means to use a locale (see L) when pattern matching.
-The locale used will be the one in effect at the time of execution of
-the pattern match. This may not be the same as the compilation-time
-locale, and can differ from one match to another if there is an
-intervening call of the
+=head3 Character set modifiers
+
+C, C, C, and C, available starting in 5.14, are called
+the character set modifiers; they affect the character set semantics
+used for the regular expression.
+
+At any given time, exactly one of these modifiers is in effect. Once
+compiled, the behavior doesn't change regardless of what rules are in
+effect when the regular expression is executed. And if a regular
+expression is interpolated into a larger one, the original's rules
+continue to apply to it, and only it.
+
+=head4 /l
+
+means to use the current locale's rules (see L) when pattern
+matching. For example, C<\w> will match the "word" characters of that
+locale, and C<"/i"> case-insensitive matching will match according to
+the locale's case folding rules. The locale used will be the one in
+effect at the time of execution of the pattern match. This may not be
+the same as the compilation-time locale, and can differ from one match
+to another if there is an intervening call of the
L.
-This modifier is automatically set if the regular expression is compiled
-within the scope of a C<"use locale"> pragma.
-Perl only allows single-byte locales. This means that code points above
-255 are treated as Unicode no matter what locale is in effect.
-Under Unicode rules, there are a few case-insensitive matches that cross the
-255/256 boundary. These are disallowed. For example,
-0xFF does not caselessly match the character at 0x178, LATIN CAPITAL
-LETTER Y WITH DIAERESIS, because 0xFF may not be LATIN SMALL LETTER Y
-in the current locale, and Perl has no way of knowing if that character
-even exists in the locale, much less what code point it is.
+
+Perl only supports single-byte locales. This means that code points
+above 255 are treated as Unicode no matter what locale is in effect.
+Under Unicode rules, there are a few case-insensitive matches that cross
+the 255/256 boundary. These are disallowed under C. For example,
+0xFF does not caselessly match the character at 0x178, C, because 0xFF may not be C in the current locale, and Perl has no way of knowing if
+that character even exists in the locale, much less what code point it
+is.
+
+This modifier may be specified to be the default by C