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