X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlunicode.pod;h=5dbd3cd5232d0fc04b7505d49a490a914b790520;hb=6fa4d285bff5644bebb95aff09143322042282cc;hp=068b2f3176f325c5b1bef43063d4ab702f373b05;hpb=2bbc8d558d247c6ef91207a12a4650c0bc292dd6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlunicode.pod b/pod/perlunicode.pod index 068b2f3..5dbd3cd 100644 --- a/pod/perlunicode.pod +++ b/pod/perlunicode.pod @@ -116,7 +116,7 @@ be used to force byte semantics on Unicode data. If strings operating under byte semantics and strings with Unicode character data are concatenated, the new string will have -character semantics. +character semantics. This can cause surprises: See L, below Under character semantics, many operations that formerly operated on bytes now operate on characters. A character in Perl is @@ -941,7 +941,7 @@ Level 1 - Basic Unicode Support Alphabetic, Lowercase, Uppercase, WhiteSpace, NoncharacterCodePoint, DefaultIgnorableCodePoint, Any, ASCII, Assigned), but also bidirectional types, blocks, etc. - (see L) + (see "Unicode Character Properties") [4] \d \D \s \S \w \W \X [:prop:] [:^prop:] [5] can use regular expression look-ahead [a] or user-defined character properties [b] to emulate set operations @@ -1451,7 +1451,8 @@ This can lead to unexpected results in which a string's semantics suddenly change if a code point above 255 is appended to or removed from it, which changes the string's semantics from byte to character or vice versa. This behavior is scheduled to change in version 5.12, but in the meantime, -a workaround is to always call utf8::upgrade($string). +a workaround is to always call utf8::upgrade($string), or to use the +standard modules L or L. =head2 Interaction with Extensions @@ -1533,6 +1534,15 @@ be quite a bit slower (5-20 times) than their simpler counterparts like C<\d> (then again, there 268 Unicode characters matching C compared with the 10 ASCII characters matching C). +=head2 Possible problems on EBCDIC platforms + +In earlier versions, when byte and character data were concatenated, +the new string was sometimes created by +decoding the byte strings as I, even if the +old Unicode string used EBCDIC. + +If you find any of these, please report them as bugs. + =head2 Porting code from perl-5.6.X Perl 5.8 has a different Unicode model from 5.6. In 5.6 the programmer