character with the Unicode uppercase property, while C<\p{M}> matches
any mark character. Single letter properties may omit the brackets,
so that can be written C<\pM> also. Many predefined character classes
-are available, such as C<\p{IsMirrored}> and C<\p{InTibetan}>. The
-recommended names of the C<In> classes are the official Unicode script
-and block names but with all non-alphanumeric characters removed, for
-example the block name C<"Latin-1 Supplement"> becomes
-C<\p{InLatin1Supplement}>.
+are available, such as C<\p{IsMirrored}> and C<\p{InTibetan}>.
+The recommended naming convention of the C<In> classes are the
+official Unicode script and block names, but with all non-alphanumeric
+characters removed, for example the block name C<"Latin-1 Supplement">
+becomes C<\p{InLatin1Supplement}>. Perl will ignore the case of
+letters, and any space or dash can be a space, dash, underbar, or be
+missing altogether, so C<\p{ in latin 1 supplement }> will work, too.
+You can also negate both C<\p{}> and C<\P{}> by introducing a caret
+(^) between the first curly and the property name: C<\p{^InTamil}> is
+equal to C<\P{Tamil}>.
Here is the list as of Unicode 3.1.0 (the two-letter classes) and
as defined by Perl (the one-letter classes) (in Unicode materials