1 | =head1 NAME
|
---|
2 |
|
---|
3 | perl585delta - what is new for perl v5.8.5
|
---|
4 |
|
---|
5 | =head1 DESCRIPTION
|
---|
6 |
|
---|
7 | This document describes differences between the 5.8.4 release and
|
---|
8 | the 5.8.5 release.
|
---|
9 |
|
---|
10 | =head1 Incompatible Changes
|
---|
11 |
|
---|
12 | There are no changes incompatible with 5.8.4.
|
---|
13 |
|
---|
14 | =head1 Core Enhancements
|
---|
15 |
|
---|
16 | Perl's regular expression engine now contains support for matching on the
|
---|
17 | intersection of two Unicode character classes. You can also now refer to
|
---|
18 | user-defined character classes from within other user defined character
|
---|
19 | classes.
|
---|
20 |
|
---|
21 | =head1 Modules and Pragmata
|
---|
22 |
|
---|
23 | =over 4
|
---|
24 |
|
---|
25 | =item *
|
---|
26 |
|
---|
27 | Carp improved to work nicely with Safe. Carp's message reporting should now
|
---|
28 | be anomaly free - it will always print out line number information.
|
---|
29 |
|
---|
30 | =item *
|
---|
31 |
|
---|
32 | CGI upgraded to version 3.05
|
---|
33 |
|
---|
34 | =item *
|
---|
35 |
|
---|
36 | charnames now avoids clobbering $_
|
---|
37 |
|
---|
38 | =item *
|
---|
39 |
|
---|
40 | Digest upgraded to version 1.08
|
---|
41 |
|
---|
42 | =item *
|
---|
43 |
|
---|
44 | Encode upgraded to version 2.01
|
---|
45 |
|
---|
46 | =item *
|
---|
47 |
|
---|
48 | FileCache upgraded to version 1.04
|
---|
49 |
|
---|
50 | =item *
|
---|
51 |
|
---|
52 | libnet upgraded to version 1.19
|
---|
53 |
|
---|
54 | =item *
|
---|
55 |
|
---|
56 | Pod::Parser upgraded to version 1.28
|
---|
57 |
|
---|
58 | =item *
|
---|
59 |
|
---|
60 | Pod::Perldoc upgraded to version 3.13
|
---|
61 |
|
---|
62 | =item *
|
---|
63 |
|
---|
64 | Pod::LaTeX upgraded to version 0.57
|
---|
65 |
|
---|
66 | =item *
|
---|
67 |
|
---|
68 | Safe now works properly with Carp
|
---|
69 |
|
---|
70 | =item *
|
---|
71 |
|
---|
72 | Scalar-List-Utils upgraded to version 1.14
|
---|
73 |
|
---|
74 | =item *
|
---|
75 |
|
---|
76 | Shell's documentation has been re-written, and its historical partial
|
---|
77 | auto-quoting of command arguments can now be disabled.
|
---|
78 |
|
---|
79 | =item *
|
---|
80 |
|
---|
81 | Test upgraded to version 1.25
|
---|
82 |
|
---|
83 | =item *
|
---|
84 |
|
---|
85 | Test::Harness upgraded to version 2.42
|
---|
86 |
|
---|
87 | =item *
|
---|
88 |
|
---|
89 | Time::Local upgraded to version 1.10
|
---|
90 |
|
---|
91 | =item *
|
---|
92 |
|
---|
93 | Unicode::Collate upgraded to version 0.40
|
---|
94 |
|
---|
95 | =item *
|
---|
96 |
|
---|
97 | Unicode::Normalize upgraded to version 0.30
|
---|
98 |
|
---|
99 | =back
|
---|
100 |
|
---|
101 | =head1 Utility Changes
|
---|
102 |
|
---|
103 | =head2 Perl's debugger
|
---|
104 |
|
---|
105 | The debugger can now emulate stepping backwards, by restarting and rerunning
|
---|
106 | all bar the last command from a saved command history.
|
---|
107 |
|
---|
108 | =head2 h2ph
|
---|
109 |
|
---|
110 | F<h2ph> is now able to understand a very limited set of C inline functions
|
---|
111 | -- basically, the inline functions that look like CPP macros. This has
|
---|
112 | been introduced to deal with some of the headers of the newest versions of
|
---|
113 | the glibc. The standard warning still applies; to quote F<h2ph>'s
|
---|
114 | documentation, I<you may need to dicker with the files produced>.
|
---|
115 |
|
---|
116 | =head1 Installation and Configuration Improvements
|
---|
117 |
|
---|
118 | Perl 5.8.5 should build cleanly from source on LynxOS.
|
---|
119 |
|
---|
120 | =head1 Selected Bug Fixes
|
---|
121 |
|
---|
122 | =over 4
|
---|
123 |
|
---|
124 | =item *
|
---|
125 |
|
---|
126 | The in-place sort optimisation introduced in 5.8.4 had a bug. For example,
|
---|
127 | in code such as
|
---|
128 |
|
---|
129 | @a = sort ($b, @a)
|
---|
130 |
|
---|
131 | the result would omit the value $b. This is now fixed.
|
---|
132 |
|
---|
133 | =item *
|
---|
134 |
|
---|
135 | The optimisation for unnecessary assignments introduced in 5.8.4 could give
|
---|
136 | spurious warnings. This has been fixed.
|
---|
137 |
|
---|
138 | =item *
|
---|
139 |
|
---|
140 | Perl should now correctly detect and read BOM-marked and (BOMless) UTF-16
|
---|
141 | scripts of either endianness.
|
---|
142 |
|
---|
143 | =item *
|
---|
144 |
|
---|
145 | Creating a new thread when weak references exist was buggy, and would often
|
---|
146 | cause warnings at interpreter destruction time. The known bug is now fixed.
|
---|
147 |
|
---|
148 | =item *
|
---|
149 |
|
---|
150 | Several obscure bugs involving manipulating Unicode strings with C<substr> have
|
---|
151 | been fixed.
|
---|
152 |
|
---|
153 | =item *
|
---|
154 |
|
---|
155 | Previously if Perl's file globbing function encountered a directory that it
|
---|
156 | did not have permission to open it would return immediately, leading to
|
---|
157 | unexpected truncation of the list of results. This has been fixed, to be
|
---|
158 | consistent with Unix shells' globbing behaviour.
|
---|
159 |
|
---|
160 | =item *
|
---|
161 |
|
---|
162 | Thread creation time could vary wildly between identical runs. This was caused
|
---|
163 | by a poor hashing algorithm in the thread cloning routines, which has now
|
---|
164 | been fixed.
|
---|
165 |
|
---|
166 | =item *
|
---|
167 |
|
---|
168 | The internals of the ithreads implementation were not checking if OS-level
|
---|
169 | thread creation had failed. threads->create() now returns C<undef> in if
|
---|
170 | thread creation fails instead of crashing perl.
|
---|
171 |
|
---|
172 | =back
|
---|
173 |
|
---|
174 | =head1 New or Changed Diagnostics
|
---|
175 |
|
---|
176 | =over 4
|
---|
177 |
|
---|
178 | =item *
|
---|
179 |
|
---|
180 | Perl -V has several improvements
|
---|
181 |
|
---|
182 | =over 4
|
---|
183 |
|
---|
184 | =item *
|
---|
185 |
|
---|
186 | correctly outputs local patch names that contain embedded code snippets
|
---|
187 | or other characters that used to confuse it.
|
---|
188 |
|
---|
189 | =item *
|
---|
190 |
|
---|
191 | arguments to -V that look like regexps will give multiple lines of output.
|
---|
192 |
|
---|
193 | =item *
|
---|
194 |
|
---|
195 | a trailing colon suppresses the linefeed and ';' terminator, allowing
|
---|
196 | embedding of queries into shell commands.
|
---|
197 |
|
---|
198 | =item *
|
---|
199 |
|
---|
200 | a leading colon removes the 'name=' part of the response, allowing mapping to
|
---|
201 | any name.
|
---|
202 |
|
---|
203 | =back
|
---|
204 |
|
---|
205 | =item *
|
---|
206 |
|
---|
207 | When perl fails to find the specified script, it now outputs a second line
|
---|
208 | suggesting that the user use the C<-S> flag:
|
---|
209 |
|
---|
210 | $ perl5.8.5 missing.pl
|
---|
211 | Can't open perl script "missing.pl": No such file or directory.
|
---|
212 | Use -S to search $PATH for it.
|
---|
213 |
|
---|
214 | =back
|
---|
215 |
|
---|
216 | =head1 Changed Internals
|
---|
217 |
|
---|
218 | The Unicode character class files used by the regular expression engine are
|
---|
219 | now built at build time from the supplied Unicode consortium data files,
|
---|
220 | instead of being shipped prebuilt. This makes the compressed Perl source
|
---|
221 | tarball about 200K smaller. A side effect is that the layout of files inside
|
---|
222 | lib/unicore has changed.
|
---|
223 |
|
---|
224 | =head1 Known Problems
|
---|
225 |
|
---|
226 | The regression test F<t/uni/class.t> is now performing considerably more
|
---|
227 | tests, and can take several minutes to run even on a fast machine.
|
---|
228 |
|
---|
229 | =head1 Platform Specific Problems
|
---|
230 |
|
---|
231 | This release is known not to build on Windows 95.
|
---|
232 |
|
---|
233 | =head1 Reporting Bugs
|
---|
234 |
|
---|
235 | If you find what you think is a bug, you might check the articles
|
---|
236 | recently posted to the comp.lang.perl.misc newsgroup and the perl
|
---|
237 | bug database at http://bugs.perl.org. There may also be
|
---|
238 | information at http://www.perl.org, the Perl Home Page.
|
---|
239 |
|
---|
240 | If you believe you have an unreported bug, please run the B<perlbug>
|
---|
241 | program included with your release. Be sure to trim your bug down
|
---|
242 | to a tiny but sufficient test case. Your bug report, along with the
|
---|
243 | output of C<perl -V>, will be sent off to [email protected] to be
|
---|
244 | analysed by the Perl porting team. You can browse and search
|
---|
245 | the Perl 5 bugs at http://bugs.perl.org/
|
---|
246 |
|
---|
247 | =head1 SEE ALSO
|
---|
248 |
|
---|
249 | The F<Changes> file for exhaustive details on what changed.
|
---|
250 |
|
---|
251 | The F<INSTALL> file for how to build Perl.
|
---|
252 |
|
---|
253 | The F<README> file for general stuff.
|
---|
254 |
|
---|
255 | The F<Artistic> and F<Copying> files for copyright information.
|
---|
256 |
|
---|
257 | =cut
|
---|