<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,7 +2,9 @@
 
 Z&lt;context_philosophy&gt;
 
-Like spoken languages, Perl has the notion of X&lt;context&gt;.  The meaning of an
+X&lt;context&gt;
+
+Like spoken languages, Perl has the notion of I&lt;context&gt;.  The meaning of an
 idea depends on its surroundings.  This may sound strange and foreign in a
 programming language -- surely predictability is more important than
 expressivity sometimes -- but you're already proficient with how Perl uses
@@ -34,17 +36,17 @@ results.
 Suppose you have a function called C&lt;some_expensive_operation()&gt; which performs
 an expensive calculation and can produce many, many results.  If you call the
 function on its own and never do anything with its return value, this is X&lt;void
-context&gt;:
+context&gt;I&lt;void context&gt;:
 
     some_expensive_operation();
 
 Calling the function and assign its return value to a single element evaluates
-the function in X&lt;scalar context&gt;:
+the function in X&lt;scalar context&gt;I&lt;scalar_context&gt;:
 
     my $single_result = some_expensive_operation();
 
 Assigning the results of calling the function to an array or a list, or using
-it in a list evaluates the function in X&lt;list context&gt;:
+it in a list evaluates the function in X&lt;list context&gt;I&lt;list_context&gt;:
 
     my @all_results        = some_expensive_operation();
     my ($single_element)   = some_expensive_operation();
@@ -105,16 +107,16 @@ In exchange for not having to declare (or at least track) explicitly what
 I&lt;type&gt; of data a variable contains or a function produces, Perl offers
 specific type contexts that tell the compiler how to treat a given value at a
 specific time.  That is, the C&lt;eq&gt; operator treats its operands as strings by
-enforcing X&lt;string context&gt; on them.  The C&lt;==&gt; operator enforces numeric
-context.
+enforcing X&lt;string context&gt;I&lt;string_context&gt; on them.  The C&lt;==&gt; operator
+enforces numeric context.
 
 Perl will do its best to convert from strings to numbers and back depending on
 the operators you use; it's important to use the proper operators for the type
 of context you want.
 
-There's also a X&lt;boolean context&gt; which occurs when you use a value in a
-conditional statement -- in the previous examples, the results of the C&lt;eq&gt; and
-C&lt;==&gt; operators were in this boolean context.
+There's also a X&lt;boolean context&gt;I&lt;boolean context&gt; which occurs when you use a
+value in a conditional statement -- in the previous examples, the results of
+the C&lt;eq&gt; and C&lt;==&gt; operators were in this boolean context.
 
 In rare circumstances, you may need to force an explicit context where no
 appropriately typed operator exists.  To force a numeric context, add zero to a</diff>
      <filename>sections/context_philosophy.pod</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,9 @@ file executed) and continues to the end:
 
 =end programlisting
 
-This is true in the absence of specific X&lt;control flow directives&gt;.  These
+X&lt;control flow directives&gt;
+
+This is true in the absence of specific I&lt;control flow directives&gt;.  These
 directives change the flow of execution -- what happens next -- depending on
 the values of arbitrarily complex expressions.
 </diff>
      <filename>sections/control_flow.pod</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,10 @@
 
 Z&lt;names&gt;
 
-Perl X&lt;names&gt; or X&lt;identifiers&gt; follow simple rules.  A variable name, a
+X&lt;names&gt;
+X&lt;identifiers&gt;
+
+Perl I&lt;names&gt; (or I&lt;identifiers&gt;) follow simple rules.  A variable name, a
 function name, a package name, a class name, and a filehandle name must all
 start with a letter or an underscore.  They may optionally include any
 combination of letters, numbers, and underscores.  These are all valid Perl
@@ -28,7 +31,9 @@ When the C&lt;utf8&gt; pragma is in effect, you may use any valid UTF-8 characters in
 identifiers, provided that they still start with a letter or underscore and
 optionally contain one or more alphanumeric or underscore characters.
 
-The rules are different for X&lt;symbolic lookups&gt;, however.  These rules only
+X&lt;symbolic lookups&gt;
+
+The rules are different for I&lt;symbolic lookups&gt;, however.  These rules only
 apply to literal names found in source code.  Perl's dynamic nature makes it
 possible to refer to entities with names generated at runtime or provided as
 input to a program.  This is more difficult than the straightforward approach,
@@ -39,10 +44,13 @@ these grammatic rules.  This can produce confusing code, however.
 
 =head4 Variable Names and Sigils
 
-X&lt;Variable names&gt; always have a leading sigil which suggests the type of the
-variable.  X&lt;Scalar variables&gt; have a leading dollar sign (C&lt;$&gt;) character.
-X&lt;Array variables&gt; have a leading at sign (C&lt;@&gt;) character.  X&lt;Hash variables&gt;
-have a leading percent sign (C&lt;%&gt;) character:
+X&lt;Variable names&gt;
+
+I&lt;Variable names&gt; always have a leading sigil which suggests the type of the
+variable.  X&lt;scalar variables&gt;I&lt;Scalar variables&gt; have a leading dollar sign
+(C&lt;$&gt;) character.  X&lt;array variables&gt;I&lt;Array variables&gt; have a leading at sign
+(C&lt;@&gt;) character.  X&lt;hash variables&gt;I&lt;Hash variables&gt; have a leading percent
+sign (C&lt;%&gt;) character:
 
     my $scalar;
     my @array;
@@ -56,7 +64,9 @@ types:
 
 Perl won't get confused, but the person reading the code will.
 
-Perl 5 uses X&lt;variant sigils&gt;, where the sigil on a variable may change
+X&lt;variant sigils&gt;
+
+Perl 5 uses I&lt;variant sigils&gt;, where the sigil on a variable may change
 depending on what you do with it.  For example, to access a (scalar) element of
 an array or a hash, the sigil changes to the dollar sign (C&lt;$&gt;) character:
 
@@ -83,9 +93,9 @@ through curly brackets.
 
 Occasionally you may need to refer to functions or variables in a separate
 namespace.  Often you will need to refer to a class by its X&lt;fully-qualified
-name&gt;.  These names are collections of package names joined by double colons
-(C&lt;::&gt;).  That is, C&lt;My::Fine::Package&gt; refers to a logical collection of
-variables and functions.
+name&gt;I&lt;fully-qualified name&gt;.  These names are collections of package names
+joined by double colons (C&lt;::&gt;).  That is, C&lt;My::Fine::Package&gt; refers to a
+logical collection of variables and functions.
 
 While the standard naming rules apply to package names, by convention
 user-defined packages all start with uppercase letters.  The Perl core reserves</diff>
      <filename>sections/names.pod</filename>
    </modified>
    <modified>
      <diff>@@ -3,17 +3,18 @@
 Z&lt;regular_expressions&gt;
 
 Perl's powerful ability to manipulate text comes in part from its inclusion of
-a computing concept known as X&lt;regular expressions&gt;.  A regular expression (or
-X&lt;regexp&gt;) is a I&lt;pattern&gt; which describes characteristics of a string of text.
-A X&lt;regular expression engine&gt; interprets a pattern, applying it to strings of
-text to identify those which match.
+a computing concept known as X&lt;regular expressions&gt;I&lt;regular expressions&gt;.  A
+regular expression (or X&lt;regex&gt;I&lt;regex&gt;) is a I&lt;pattern&gt; which describes
+characteristics of a string of text.  A X&lt;regular expression engine&gt;I&lt;regular
+expression engine&gt; interprets a pattern, applying it to strings of text to
+identify those which match.
 
 The C&lt;perlre&gt; documentation describes Perl regular expressions in copious
 detail, including advanced features not covered here.
 
 =head3 Literals
 
-The simplest regexps are simple substring patterns:
+The simplest regexs are simple substring patterns:
 
     my $name = 'Chatfield';
     say &quot;Found a hat!&quot; if $name =~ /hat/;
@@ -21,14 +22,14 @@ The simplest regexps are simple substring patterns:
 In this snippet of code, the regular expression is C&lt;hat&gt;.  Formally, this
 means &quot;the C&lt;h&gt; character, followed by the C&lt;a&gt; character, followed by the C&lt;t&gt;
 character, appearing anywhere in the string.&quot;  The forward slashes delineate
-the regexp (think of them as a form of quoting operator) and the C&lt;=~&gt; operator
-applies the regexp on its right to the string or expression on the left.  In
+the regex (think of them as a form of quoting operator) and the C&lt;=~&gt; operator
+applies the regex on its right to the string or expression on the left.  In
 scalar context, this operator evaluates to a true value if the match succeeded.
 A negated form of this operator exists: C&lt;!~&gt;.
 
-=head3 The C&lt;qr//&gt; Operator and Regexp Combinations
+=head3 The C&lt;qr//&gt; Operator and Regex Combinations
 
-Regexps are first-class entities in modern Perl; you can build them with the
+Regexs are first-class entities in modern Perl; you can build them with the
 C&lt;qr//&gt; operator:
 
     my $hat = qr/hat/;
@@ -50,16 +51,17 @@ its second argument is a regular expression object produced by C&lt;qr//&gt;.
 
 =end note
 
-This is more useful as regexps grow more complex.
+This is more useful as regexs grow more complex.
 
 =head3 Quantifiers
 
-Regexp literals have little value over the use of the C&lt;index&gt; operator, yet
+Regex literals have little value over the use of the C&lt;index&gt; operator, yet
 there is some benefit to clarity.  The use of the binding operators (C&lt;=~&gt; and
 C&lt;!~&gt;) indicate that the purpose is to apply a pattern to a string.  Regular
-expressions get more powerful through the use of X&lt;regexp quantifiers&gt;, which
-allow you to specify how often a regexp component may appear in a matching
-string.  The simplest quantifier is the X&lt;zero or one quantifier&gt;, or C&lt;?&gt;:
+expressions get more powerful through the use of X&lt;regex quantifiers&gt;I&lt;regex
+quantifiers&gt;, which allow you to specify how often a regex component may
+appear in a matching string.  The simplest quantifier is the X&lt;quantifiers;
+zero or one&gt;I&lt;zero or one quantifier&gt;, or C&lt;?&gt;:
 
     my $cat_or_ct = qr/ca?t/;
 
@@ -72,8 +74,9 @@ no C&lt;a&gt; characters immediately following a C&lt;c&gt; character and immediately
 preceding a C&lt;t&gt; character, and it matches if there is one and only one C&lt;a&gt;
 character between the C&lt;c&gt; and C&lt;t&gt; characters.
 
-The X&lt;one or more quantifier&gt;, or C&lt;+&gt;, matches only if there is at least one
-of the preceding atom in the appropriate place in the string to match:
+The X&lt;quantifiers; one or more&gt;I&lt;one or more quantifier&gt;, or C&lt;+&gt;, matches only
+if there is at least one of the preceding atom in the appropriate place in the
+string to match:
 
     my $one_or_more_a = qr/ca+t/;
 
@@ -87,8 +90,9 @@ of the preceding atom in the appropriate place in the string to match:
 There is no theoretical limit to the number of quantified atoms which can
 match.
 
-The X&lt;zero or more quantifier&gt; is C&lt;*&gt;; it matches if there are zero or more
-instances of the quantified atom in the string to match:
+The X&lt;quantifiers; zero or more&gt;I&lt;zero or more quantifier&gt; is C&lt;*&gt;; it matches
+if there are zero or more instances of the quantified atom in the string to
+match:
 
     my $zero_or_more_a = qr/ca+t/;
 
@@ -98,11 +102,13 @@ instances of the quantified atom in the string to match:
     like( 'caaaat', $zero_or_more_a, &quot;'caaaat' matches /ca*t/&quot; );
     like( 'ct',     $zero_or_more_a, &quot;'ct' matches /ca*t/&quot;     );
 
-This may seem useless, but it combines nicely with other regexp features to
+This may seem useless, but it combines nicely with other regex features to
 indicate that you don't care about what may or may not be in that particular
 position in the string to match.
 
-Finally, you can specify the number of times an atom may match with X&lt;numeric
+X&lt;numeric quantifiers&gt;
+
+Finally, you can specify the number of times an atom may match with I&lt;numeric
 quantifiers&gt;. C&lt;{n}&gt; means that a match must occur exactly I&lt;n&gt; times.
 
     # equivalent to qr/cat/;
@@ -133,7 +139,7 @@ more than I&lt;m&gt; times:
 
 =head3 Metacharacters
 
-Regular expressions get more powerful as individual regexp atoms get more
+Regular expressions get more powerful as individual regex atoms get more
 general.  For example, the C&lt;.&gt; character in a regular expression means &quot;match
 any character except a newline&quot;.  If you wanted to search a list of dictionary
 words for every word which might match 7 Down (&quot;Rich soil&quot;) n a crossword
@@ -169,8 +175,10 @@ I&lt;except&gt; a word character, use C&lt;\W&gt;.  To match a non-digit character, use
 C&lt;\D&gt;.  These are somewhat rare in practice, but they can be very expressive.
 The non-space metacharacter, C&lt;\S&gt;, is more common.
 
+X&lt;character classes&gt;
+
 If the range of allowed characters in these four groups isn't specific enough,
-you can specify your own X&lt;character classes&gt; by enclosing them in square
+you can specify your own I&lt;character classes&gt; by enclosing them in square
 brackets:
 
     my $vowels    = qr/[aeiou]/;
@@ -211,11 +219,14 @@ negating carat.
 
 =head3 Greediness
 
-The C&lt;+&gt; and C&lt;*&gt; quantifiers by themselves are X&lt;greedy quantifiers&gt;; they
+X&lt;greedy quantifiers&gt;
+X&lt;quantifiers; greedy&gt;
+
+The C&lt;+&gt; and C&lt;*&gt; quantifiers by themselves are I&lt;greedy quantifiers&gt;; they
 match as many times as possible.  This is particularly pernicious when using
 the tempting-but-troublesome &quot;match any amount of anything&quot; pattern C&lt;.*&gt;:
 
-    # a poor regexp
+    # a poor regex
     my $hot_meal = qr/hot.*meal/;
 
     say 'Found a hot meal!' if 'I have a hot meal' =~ $hot_meal;
@@ -234,21 +245,27 @@ You'll get C&lt;Alabama&gt;, C&lt;Belgium&gt;, and C&lt;Bethlehem&gt; for starters.  The soil
 might be nice there, but they're all too long -- and the matches start in the
 middle of the words.
 
-X&lt;Regexp anchors&gt; force a match at a specific position in a string.  The
-X&lt;start of line anchor&gt;, or C&lt;\A&gt;, ensures that any match will start at the
-beginning of the string:
+X&lt;regex anchors&gt;
+
+I&lt;Regex anchors&gt; force a match at a specific position in a string.  The
+X&lt;anchors; start of line&gt;I&lt;start of line anchor&gt;, or C&lt;\A&gt;, ensures that any
+match will start at the beginning of the string:
 
     # also matches &quot;lammed&quot;, &quot;lawmaker&quot;, and &quot;layman&quot;
     my $seven_down = qr/\Al${letters_only}{2}m/;
 
-Similarly, the X&lt;end of line anchor&gt;, or C&lt;\Z&gt;, ensures that any match will
+X&lt;anchors; end of line&gt;
+
+Similarly, the I&lt;end of line anchor&gt;, or C&lt;\Z&gt;, ensures that any match will
 I&lt;end&gt; at the end of the string.
 
     # also matches &quot;loom&quot;, which is close enough
     my $seven_down = qr/\Al${letters_only}{2}m\Z/;
 
+X&lt;word boundary metacharacter&gt;
+
 If you're not fortunate enough to have a Unix word dictionary file available,
-the X&lt;word boundary metacharacter&gt;, or C&lt;\b&gt;, matches only at the boundary
+the I&lt;word boundary metacharacter&gt;, or C&lt;\b&gt;, matches only at the boundary
 between a word character (C&lt;\w&gt;) and a non-word character C(&lt;\W&gt;):
 
     my $seven_down = qr/\bl${letters_only}{2}m\b/;
@@ -285,7 +302,7 @@ items:
 
 The C&lt;?&gt; quantifier modifier also applies to the C&lt;?&gt; (zero or one matches)
 quantifier as well as the range quantifiers.  In this case, it causes the
-regexp to match as few times as possible.
+regex to match as few times as possible.
 
 In general, the greedy modifiers C&lt;.+&gt; and C&lt;.*&gt; are tempting but dangerous
 tools.  For simple programs which need little maintenance, they may be quick
@@ -310,9 +327,13 @@ reasons which will become obvious in a moment.
 
 =end notetip
 
+X&lt;captures&gt;
+X&lt;named captures&gt;
+X&lt;captures; named&gt;
+
 Given a string, C&lt;$contact_info&gt;, which contains contact information, you can
-apply the C&lt;$phone_number&gt; regular expression and X&lt;capture&gt; any matches into a
-variable with C&lt;named captures&gt;:
+apply the C&lt;$phone_number&gt; regular expression and I&lt;capture&gt; any matches into a
+variable with I&lt;named captures&gt;:
 
     if ($contact_info =~ /(?&lt;phone&gt;$phone_number))
     {
@@ -327,18 +348,21 @@ when you can recognize it in one chunk:
 The parentheses enclose the entire capture.  The C&lt;&lt; ?&lt; name &gt; &gt;&gt; construct
 must follow the left parenthesis.  It provides a name for the capture buffer.
 The rest of the construct within the parentheses is a regular expression.  If
-and when the regexp matches this fragment, Perl stores the captured portion of
+and when the regex matches this fragment, Perl stores the captured portion of
 the string in the special variable C&lt;%+&gt;: a hash where the key is the name of
 the capture buffer and the value is the portion of the string which matched the
-buffer's regexp.
+buffer's regex.
 
 Parentheses are special to Perl 5 regular expressions; by default they perform
 the same grouping behavior as parentheses do in regular Perl code.  They also
 enclose captures.  To use literal parentheses in a regular expression, you must
 preface them with a backslash, just as in the C&lt;$area_code&gt; variable.
 
+X&lt;anonymous captures&gt;
+X&lt;captures; anonymous&gt;
+
 Named captures are new in Perl 5.10, but captures have existed in Perl for many
-years.  You may encounter X&lt;anonymous captures&gt; as well:
+years.  You may encounter I&lt;anonymous captures&gt; as well:
 
     if ($contact_info =~ /($phone_number))
     {
@@ -346,16 +370,16 @@ years.  You may encounter X&lt;anonymous captures&gt; as well:
     }
 
 In this code, the parentheses enclose the fragment to capture, but there is no
-regexp directive giving the I&lt;name&gt; of the capture.  In this case, Perl stores
+regex directive giving the I&lt;name&gt; of the capture.  In this case, Perl stores
 the captured substring in a series of magic variables starting with C&lt;$1&gt; and
-continuing for as many capture groups are present in the regexp.  The I&lt;first&gt;
+continuing for as many capture groups are present in the regex.  The I&lt;first&gt;
 matching capture that Perl finds goes into C&lt;$1&gt;, the second into C&lt;$2&gt;, and so
 on.
 
 While the syntax for named captures is longer than for anonymous captures, they
 provide additional clarity.  You do not have to count the number of opening
 parentheses to figure out whether a particular capture is C&lt;$4&gt; or C&lt;$5&gt;, and
-composing regexps from smaller regexps is much easier, as they're less
+composing regexs from smaller regexs is much easier, as they're less
 sensitive to changes in position or the presence or absence of capturing in
 individual atoms.
 
@@ -363,7 +387,7 @@ individual atoms.
 
 Name collisions are still possible with named captures, though that's less
 frequent than number collisions with anonymous captures.  Consider avoiding the
-use of captures of any kind in regexp fragments; save it for top-level regexps
+use of captures of any kind in regex fragments; save it for top-level regexs
 themselves.
 
 =end notetip
@@ -379,7 +403,7 @@ apply to more complex subpatterns as a whole:
     like( 'pork and beans', qr/\A$pork?.*?$beans/,
          'maybe pork, definitely beans' );
 
-If you expand the regexp manually, the results may surprise you:
+If you expand the regex manually, the results may surprise you:
 
     like( 'pork and beans', qr/\Apork?.*?beans/,
          'maybe pork, definitely beans' );
@@ -393,8 +417,11 @@ This still matches, but consider a more specific pattern:
     like( 'pork and beans', qr/\A$pork? $and? $beans/,
         'maybe pork, maybe and, definitely beans' );
 
-It can be useful to express a regexp in terms of &quot;this or that&quot;.  This is the
-purpose of the X&lt;alternation&gt; metacharacter, C&lt;|&gt;.
+X&lt;alternation&gt;
+X&lt;regex alternation&gt;
+
+It can be useful to express a regex in terms of &quot;this or that&quot;.  This is the
+purpose of the I&lt;alternation&gt; metacharacter, C&lt;|&gt;.
 
     my $rice  = qr/rice/;
     my $beans = qr/beans/;
@@ -403,7 +430,7 @@ purpose of the X&lt;alternation&gt; metacharacter, C&lt;|&gt;.
     like( 'beans', qr/$rice|$beans/, 'Found some beans' );
 
 The alternation metacharacter indicates that either preceding fragment may
-match.  Be careful about what you interpret as a regexp fragment, however:
+match.  Be careful about what you interpret as a regex fragment, however:
 
     like(   'rice',  qr/rice|beans/, 'Found some rice'  );
     like(   'beans', qr/rice|beans/, 'Found some beans' );
@@ -411,11 +438,11 @@ match.  Be careful about what you interpret as a regexp fragment, however:
 
 It's possible to interpret the pattern C&lt;rice|beans&gt; as meaning C&lt;ric&gt;,
 followed by either C&lt;e&gt; or C&lt;b&gt;, followed by C&lt;eans&gt; -- but that's incorrect.
-Alternations always include the entire fragment to the nearest regexp
-delimiter, whether the start or end of the pattern, an enclosing parenthesis,
-another alternation character, or a square bracket.  In the interest of
-reducing confusion, consider using named fragments in variables
-(C&lt;$rice|$beans&gt;) or grouping alternation candidates in X&lt;non-capturing
+Alternations always include the entire fragment to the nearest regex delimiter,
+whether the start or end of the pattern, an enclosing parenthesis, another
+alternation character, or a square bracket.  In the interest of reducing
+confusion, consider using named fragments in variables (C&lt;$rice|$beans&gt;) or
+grouping alternation candidates in X&lt;non-capturing groups&gt;I&lt;non-capturing
 groups&gt;:
 
     my $starches = qr/(?:pasta|potatoes|rice)/;
@@ -436,13 +463,19 @@ Note also that you can have more than two alternatives in a pattern.
 
 =head3 Other Escape Sequences
 
-Perl interprets several characters in regular expressions as X&lt;metacharacters&gt;.
+X&lt;regex metacharacters&gt;
+X&lt;metacharacters; regex&gt;
+
+Perl interprets several characters in regular expressions as I&lt;metacharacters&gt;.
 They mean something different than literal characters.  For example, square
 brackets always denote a character class and parentheses group and optionally
 capture pattern fragments.
 
+X&lt;escape&gt;
+X&lt;metacharacters; escaping&gt;
+
 If you want to refer to a I&lt;literal&gt; instance of a metacharacter, you must
-X&lt;escape&gt; it with a backslash (C&lt;\&gt;).  Thus C&lt;\(&gt; refers to a single left
+I&lt;escape&gt; it with a backslash (C&lt;\&gt;).  Thus C&lt;\(&gt; refers to a single left
 parenthesis and C&lt;\]&gt; refers to a single right square bracket.  C&lt;\.&gt; refers to
 a literal period character instead of the &quot;match anything but an explicit
 newline character&quot; atom.
@@ -451,8 +484,10 @@ Other useful metacharacters that often need escaping are the pipe character
 (C&lt;|&gt;) and the dollar sign (C&lt;$&gt;).  Don't forget about the quantifiers either:
 C&lt;*&gt;, C&lt;+&gt;, and C&lt;?&gt; also qualify.
 
+X&lt;metacharacters; disabling&gt;
+
 If this all makes you think your patterns will be full of slashes, get familiar
-with the X&lt;metacharacter disabling characters&gt;.  The C&lt;\Q&gt; metacharacter
+with the I&lt;metacharacter disabling characters&gt;.  The C&lt;\Q&gt; metacharacter
 disables metacharacter processing until it reaches the C&lt;\E&gt; sequence.  This is
 especially useful when taking match text from a source you don't control when
 writing the program:
@@ -463,7 +498,7 @@ writing the program:
 
 In this case, the C&lt;$literal_text&gt; argument can contain anything -- the string
 C&lt;** ALERT **&gt;, for example, and Perl will not interpret the zero-or-more
-quantifier as a quantifier.  Instead, it will parse the regexp as C&lt;\*\* ALERT
+quantifier as a quantifier.  Instead, it will parse the regex as C&lt;\*\* ALERT
 \*\*&gt; and attempt to match literal asterisk characters.
 
 =begin note
@@ -476,27 +511,38 @@ perform an effective denial-of-service attack against your program.
 
 =head3 Assertions
 
-The regexp anchors (C&lt;\A&gt; and C&lt;\Z&gt;) are a form of X&lt;regexp assertion&gt;, which
+X&lt;regex assertions&gt;
+
+The regex anchors (C&lt;\A&gt; and C&lt;\Z&gt;) are a form of I&lt;regex assertion&gt;, which
 requires that a condition is present but doesn't actually match a character in
-the string.  That is, the regexp C&lt;qr/\A/&gt; will I&lt;always&gt; match, no matter what
+the string.  That is, the regex C&lt;qr/\A/&gt; will I&lt;always&gt; match, no matter what
 the string contains.  The metacharacters C&lt;\b&gt; and C&lt;\B&gt; are also assertions.
 
-X&lt;Zero-width assertions&gt; match a I&lt;pattern&gt;, not just a condition in the
+X&lt;regex assertions; zero-width&gt;
+X&lt;zero-width assertions&gt;
+
+I&lt;Zero-width assertions&gt; match a I&lt;pattern&gt;, not just a condition in the
 string.  Most importantly, they do not consume the portion of the pattern that
 they match.  For example, to find a cat on its own, you might use a word
 boundary assertion:
 
     my $just_a_cat = qr/cat\b/;
 
+X&lt;regex assertions; zero-width negative look-ahead&gt;
+X&lt;zero-width negative look-ahead assertion&gt;
+
 ... but if you want to find a non-disastrous feline, you might use a
-X&lt;zero-width negative look-ahead assertion&gt;:
+I&lt;zero-width negative look-ahead assertion&gt;:
 
     my $safe_feline = qr/cat(?!astrophe)/;
 
 This construct, C&lt;(?!...)&gt;, matches the phrase C&lt;cat&gt; only if the phrase
 C&lt;atastrophe&gt; does not immediately follow.
 
-There's also a X&lt;zero-width positive look-ahead assertion&gt;:
+X&lt;regex assertions; zero-width positive look-ahead&gt;
+X&lt;zero-width positive look-ahead assertion&gt;
+
+There's also a I&lt;zero-width positive look-ahead assertion&gt;:
 
     my $disastrous_feline = qr/cat(?=astrophe)/;
 </diff>
      <filename>sections/regular_expressions.pod</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ba18f0d4517bccfa17d29a5669a9ef434b8a1e9c</id>
    </parent>
  </parents>
  <author>
    <name>chromatic</name>
    <email>chromatic@wgz.org</email>
  </author>
  <url>http://github.com/chromatic/modern_perl_book/commit/67b284cc403b4f36307c519785341444b4c32e81</url>
  <id>67b284cc403b4f36307c519785341444b4c32e81</id>
  <committed-date>2009-10-15T16:27:03-07:00</committed-date>
  <authored-date>2009-10-15T16:27:03-07:00</authored-date>
  <message>[POD] X&lt;&gt; doesn't render to anything visible, so Ren&#233;e B&#228;cker suggested fixing
all inline X&lt;&gt; links.  Now they have included I&lt;&gt; text.</message>
  <tree>4c94b7ea95606a067044dacf18d90ed8e0b435e7</tree>
  <committer>
    <name>chromatic</name>
    <email>chromatic@wgz.org</email>
  </committer>
</commit>
