Re: sitecustomize.pl [PATCH]
[p5sagit/p5-mst-13.2.git] / pod / perl592delta.pod
1 =head1 NAME
2
3 perldelta - what is new for perl v5.9.2
4
5 =head1 DESCRIPTION
6
7 This document describes differences between the 5.9.1 and the 5.9.2
8 development releases. See L<perl590delta> and L<perl591delta> for the
9 differences between 5.8.0 and 5.9.1.
10
11 =head1 Incompatible Changes
12
13 =head2 Packing and UTF-8 strings
14
15 The semantics of pack() and unpack() regarding UTF-8-encoded data has been
16 clarified. B<The character mode is now the default.> Notably, code that
17 uses C<pack("a*", $string)> to see through the encoding of string will now
18 simply return $string.
19
20 To be consistent with pack(), the C<C0> in unpack() templates indicates
21 that the data is to be processed in character mode, i.e. character by
22 character; at the contrary, C<U0> in unpack() indicates UTF-8 mode, where
23 the packed string is processed in its UTF-8-encoded Unicode form on a byte
24 by byte basis. This is reversed with regard to perl 5.8.X.
25
26 Moreover, C<C0> and C<U0> can also be used in pack() templates to specify
27 respectively character and byte modes.
28
29 C<C0> and C<U0> in the middle of a pack format now switch to the specified
30 encoding mode, honoring parens grouping. Previously, parens were ignored.
31
32 Also, there is a new pack() character format, C<W>, which is intended to
33 replace the old C<C>. C<C> is kept for unsigned chars coded on eight bits.
34 C<W> represents unsigned character values, which can be greater than 255.
35 It is therefore more robust when dealing with potentially UTF-8-encoded
36 data (as C<C> will wrap values outside the range 0..255).
37
38 In practice, that means that pack formats are now encoding-neutral, except
39 C<C>.
40
41 =head1 Core Enhancements
42
43 =head1 Modules and Pragmata
44
45 =head1 Utility Changes
46
47 =head1 Documentation
48
49 =head1 Performance Enhancements
50
51 =head1 Installation and Configuration Improvements
52
53 =head1 Selected Bug Fixes
54
55 =head1 New or Changed Diagnostics
56
57 =head1 Changed Internals
58
59 =head1 Known Problems
60
61 =head2 Platform Specific Problems
62
63 =head1 Reporting Bugs
64
65 If you find what you think is a bug, you might check the articles
66 recently posted to the comp.lang.perl.misc newsgroup and the perl
67 bug database at http://bugs.perl.org/ .  There may also be
68 information at http://www.perl.org/ , the Perl Home Page.
69
70 If you believe you have an unreported bug, please run the B<perlbug>
71 program included with your release.  Be sure to trim your bug down
72 to a tiny but sufficient test case.  Your bug report, along with the
73 output of C<perl -V>, will be sent off to perlbug@perl.org to be
74 analysed by the Perl porting team.
75
76 =head1 SEE ALSO
77
78 The F<Changes> file for exhaustive details on what changed.
79
80 The F<INSTALL> file for how to build Perl.
81
82 The F<README> file for general stuff.
83
84 The F<Artistic> and F<Copying> files for copyright information.
85
86 =cut