update Changes
[p5sagit/p5-mst-13.2.git] / pod / perldelta.pod
CommitLineData
ba8251e8 1=head1 NAME
2
e02fdbd2 3perldelta - what's new for perl5.006 (as of 5.005_54)
ba8251e8 4
5=head1 DESCRIPTION
6
7This document describes differences between the 5.005 release and this one.
8
9=head1 Incompatible Changes
10
e02fdbd2 11=head2 Perl Source Incompatibilities
12
13None known at this time.
14
15=head2 C Source Incompatibilities
16
17=over 4
18
19=item C<PERL_POLLUTE>
20
21Release 5.005 grandfathered old global symbol names by providing preprocessor
22macros for extension source compatibility. As of release 5.006, these
23preprocessor definitions are not available by default. You need to explicitly
24compile perl with C<-DPERL_POLLUTE> in order to get these definitions.
25
26=item C<PL_na> and C<dTHR> Issues
27
28The C<PL_na> global is now thread local, so a C<dTHR> declaration is needed
29in the scope in which it appears. XSUBs should handle this automatically,
30but if you have used C<PL_na> in support functions, you either need to
31change the C<PL_na> to a local variable (which is recommended), or put in
32a C<dTHR>.
33
34=back
35
36=head2 Binary Incompatibilities
37
38This release is not binary compatible with the 5.005 release and its
39maintenance versions.
40
ba8251e8 41=head1 Core Changes
42
5fdc711f 43=head2 Binary numbers supported
44
4f19785b 45Binary numbers are now supported as literals, in s?printf formats, and
46C<oct()>:
47
48 $answer = 0b101010;
49 printf "The answer is: %b\n", oct("0b101010");
50
5fdc711f 51=head2 syswrite() ease-of-use
52
6c67e1bb 53The length argument of C<syswrite()> is now optional.
54
5fdc711f 55=head2 64-bit support
56
6c67e1bb 57Better 64-bit support -- but full support still a distant goal. One
58must Configure with -Duse64bits to get Configure to probe for the
59extent of 64-bit support. Depending on the platform (hints file) more
60or less 64-awareness becomes available. As of 5.005_54 at least
61somewhat 64-bit aware platforms are HP-UX 11 or better, Solaris 2.6 or
62better, IRIX 6.2 or better. Naturally 64-bit platforms like Digital
63UNIX and UNICOS also have 64-bit support.
e02fdbd2 64
ba8251e8 65=head1 Supported Platforms
66
5fdc711f 67=over 4
68
69=item *
70
6c67e1bb 71VM/ESA is now supported.
72
5fdc711f 73=item *
74
6c67e1bb 75Siemens BS200 is now supported.
76
5fdc711f 77=item *
78
6c67e1bb 79The Mach CThreads (NeXTstep) are now supported by the Thread extension.
80
5fdc711f 81=back
82
6c67e1bb 83=head1 New tests
84
85=over 4
86
87=item op/io_const
88
89IO constants (SEEK_*, _IO*).
90
91=item op/io_dir
92
93Directory-related IO methods (new, read, close, rewind, tied delete).
94
95=item op/io_multihomed
96
97INET sockets with multi-homed hosts.
98
99=item op/io_poll
100
101IO poll().
102
103=item op/io_unix
104
105UNIX sockets.
106
107=item op/filetest
108
109File test operators.
110
111=item op/lex_assign
112
5fdc711f 113Verify operations that access pad objects (lexicals and temporaries).
6c67e1bb 114
115=back
e02fdbd2 116
ba8251e8 117=head1 Modules and Pragmata
118
3e8c4fa0 119=head2 Modules
120
121Dumpvalue module provides screen dumps of Perl data.
122
123=head2 Pragmata
124
6c67e1bb 125Lexical warnings pragma, "use warning;", to control optional warnings.
126
127Filetest pragma, to control the behaviour of filetests (C<-r> C<-w> ...).
128Currently only one subpragma implemented, "use filetest 'access';",
129that enables the use of access(2) or equivalent to check the
130permissions instead of using stat(2) as usual. This matters
131in filesystems where there are ACLs (access control lists), the
132stat(2) might lie, while access(2) knows better.
133
ba8251e8 134=head1 Utility Changes
135
e02fdbd2 136Todo.
137
ba8251e8 138=head1 Documentation Changes
139
5fdc711f 140=over 4
141
142=item perlopentut.pod
f8284313 143
5fdc711f 144A tutorial on using open() effectively.
145
146=item perlreftut.pod
147
148A tutorial that introduces the essentials of references.
149
150=back
e02fdbd2 151
ba8251e8 152=head1 New Diagnostics
153
6b121555 154=item /%s/: Unrecognized escape \\%c passed through
155
156(W) You used a backslash-character combination which is not recognized
157by Perl. This combination appears in an interpolated variable or a
158C<'>-delimited regular expression.
159
160=item Unrecognized escape \\%c passed through
161
162(W) You used a backslash-character combination which is not recognized
163by Perl.
e02fdbd2 164
06eaf0bc 165=item Missing command in piped open
166
167(W) You used the C<open(FH, "| command")> or C<open(FH, "command |")>
168construction, but the command was missing or blank.
169
ba8251e8 170=head1 Obsolete Diagnostics
171
e02fdbd2 172Todo.
173
ba8251e8 174=head1 BUGS
175
176If you find what you think is a bug, you might check the headers of
177recently posted articles in the comp.lang.perl.misc newsgroup.
178There may also be information at http://www.perl.com/perl/, the Perl
179Home Page.
180
181If you believe you have an unreported bug, please run the B<perlbug>
182program included with your release. Make sure you trim your bug down
183to a tiny but sufficient test case. Your bug report, along with the
184output of C<perl -V>, will be sent off to <F<perlbug@perl.com>> to be
185analysed by the Perl porting team.
186
187=head1 SEE ALSO
188
189The F<Changes> file for exhaustive details on what changed.
190
191The F<INSTALL> file for how to build Perl.
192
193The F<README> file for general stuff.
194
195The F<Artistic> and F<Copying> files for copyright information.
196
197=head1 HISTORY
198
199Written by Gurusamy Sarathy <F<gsar@umich.edu>>, with many contributions
200from The Perl Porters.
201
202Send omissions or corrections to <F<perlbug@perl.com>>.
203
204=cut