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