This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Mirror change #2781.
[perl5.git] / pod / perldelta.pod
CommitLineData
ba8251e8
GS
1=head1 NAME
2
e02fdbd2 3perldelta - what's new for perl5.006 (as of 5.005_54)
ba8251e8
GS
4
5=head1 DESCRIPTION
6
7This document describes differences between the 5.005 release and this one.
8
9=head1 Incompatible Changes
10
e02fdbd2
GS
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
GS
41=head1 Core Changes
42
5fdc711f
GS
43=head2 Binary numbers supported
44
4f19785b
WSI
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
GS
51=head2 syswrite() ease-of-use
52
6c67e1bb
TC
53The length argument of C<syswrite()> is now optional.
54
5fdc711f
GS
55=head2 64-bit support
56
6c67e1bb
TC
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
GS
65=head1 Supported Platforms
66
5fdc711f
GS
67=over 4
68
69=item *
70
6c67e1bb
TC
71VM/ESA is now supported.
72
5fdc711f
GS
73=item *
74
6c67e1bb
TC
75Siemens BS200 is now supported.
76
5fdc711f
GS
77=item *
78
6c67e1bb
TC
79The Mach CThreads (NeXTstep) are now supported by the Thread extension.
80
5fdc711f
GS
81=back
82
6c67e1bb
TC
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
TC
114
115=back
e02fdbd2 116
ba8251e8
GS
117=head1 Modules and Pragmata
118
3e8c4fa0
JH
119=head2 Modules
120
121Dumpvalue module provides screen dumps of Perl data.
122
123=head2 Pragmata
124
6c67e1bb
TC
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
GS
134=head1 Utility Changes
135
e02fdbd2
GS
136Todo.
137
ba8251e8
GS
138=head1 Documentation Changes
139
5fdc711f
GS
140=over 4
141
142=item perlopentut.pod
f8284313 143
5fdc711f 144A tutorial on using open() effectively.
f8284313 145
5fdc711f
GS
146=item perlreftut.pod
147
148A tutorial that introduces the essentials of references.
149
150=back
e02fdbd2 151
ba8251e8
GS
152=head1 New Diagnostics
153
6b121555
JH
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
GS
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
GS
170=head1 Obsolete Diagnostics
171
e02fdbd2
GS
172Todo.
173
04d420f9
JH
174=head1 Configuration Changes
175
176You can use "Configure -Uinstallusrbinperl" which causes installperl
177to skip installing perl also as /usr/bin/perl. This is useful if you
178prefer not to modify /usr/bin for some reason or another but harmful
555834d1
JH
179because many scripts assume to find Perl in /usr/bin/perl.
180
181=head1 Configuration Changes
182
183You can use "Configure -Uinstallusrbinperl" which causes installperl
184to skip installing perl also as /usr/bin/perl. This is useful if you
185prefer not to modify /usr/bin for some reason or another but harmful
04d420f9
JH
186because many scripts assume to find Perl in /usr/bin/perl.
187
ba8251e8
GS
188=head1 BUGS
189
190If you find what you think is a bug, you might check the headers of
191recently posted articles in the comp.lang.perl.misc newsgroup.
192There may also be information at http://www.perl.com/perl/, the Perl
193Home Page.
194
195If you believe you have an unreported bug, please run the B<perlbug>
196program included with your release. Make sure you trim your bug down
197to a tiny but sufficient test case. Your bug report, along with the
198output of C<perl -V>, will be sent off to <F<perlbug@perl.com>> to be
199analysed by the Perl porting team.
200
201=head1 SEE ALSO
202
203The F<Changes> file for exhaustive details on what changed.
204
205The F<INSTALL> file for how to build Perl.
206
207The F<README> file for general stuff.
208
209The F<Artistic> and F<Copying> files for copyright information.
210
211=head1 HISTORY
212
213Written by Gurusamy Sarathy <F<gsar@umich.edu>>, with many contributions
214from The Perl Porters.
215
216Send omissions or corrections to <F<perlbug@perl.com>>.
217
218=cut