Commit | Line | Data |
---|---|---|
44691e6f AB |
1 | =encoding utf8 |
2 | ||
7a29aa48 FC |
3 | =for comment |
4 | To do: | |
5 | 3f40aba3 Merge branch 'ebcdic' into blead | |
b65db4bb FC |
6 | df8c7dee Fix segfault in filehandle duplication |
7 | b66f3475 Fix PerlIO_get_cnt and friends | |
7a29aa48 | 8 | |
44691e6f AB |
9 | =head1 NAME |
10 | ||
ba03bc34 SH |
11 | [ this is a template for a new perldelta file. Any text flagged as XXX needs |
12 | to be processed before release. ] | |
13 | ||
14 | perldelta - what is new for perl v5.19.4 | |
e128ab2c | 15 | |
4eabcf70 | 16 | =head1 DESCRIPTION |
6db9054f | 17 | |
ba03bc34 | 18 | This document describes differences between the 5.19.3 release and the 5.19.4 |
e08634c5 | 19 | release. |
6db9054f | 20 | |
ba03bc34 SH |
21 | If you are upgrading from an earlier release such as 5.19.2, first read |
22 | L<perl5193delta>, which describes differences between 5.19.2 and 5.19.3. | |
a3fb66a4 | 23 | |
ba03bc34 | 24 | =head1 Notice |
a3fb66a4 | 25 | |
ba03bc34 | 26 | XXX Any important notices here |
a3fb66a4 | 27 | |
ba03bc34 | 28 | =head1 Core Enhancements |
a3fb66a4 | 29 | |
ba03bc34 SH |
30 | XXX New core language features go here. Summarize user-visible core language |
31 | enhancements. Particularly prominent performance optimisations could go | |
32 | here, but most should go in the L</Performance Enhancements> section. | |
a3fb66a4 | 33 | |
ba03bc34 | 34 | [ List each enhancement as a =head2 entry ] |
a3fb66a4 | 35 | |
99366d6d | 36 | =head2 C<rand> now uses a consistent random number generator |
f1591529 | 37 | |
99366d6d SH |
38 | Previously perl would use a platform specific random number generator, varying |
39 | between the libc rand(), random() or drand48(). | |
f1591529 | 40 | |
99366d6d SH |
41 | This meant that the quality of perl's random numbers would vary from platform |
42 | to platform, from the 15 bits of rand() on Windows to 48-bits on POSIX | |
43 | platforms such as Linux with drand48(). | |
f1591529 | 44 | |
99366d6d SH |
45 | Perl now uses its own internal drand48() implementation on all platforms. |
46 | [perl #115928] | |
f1591529 | 47 | |
f2ab313d | 48 | =head2 Better 64-bit support |
18ae6bbc FC |
49 | |
50 | On 64-bit platforms, the internal array functions now use 64-bit offsets, | |
99366d6d SH |
51 | allowing Perl arrays to hold more than 2**31 elements, if you have the memory |
52 | available. | |
18ae6bbc | 53 | |
99366d6d | 54 | The regular expression engine now supports strings longer than 2**31 |
f2ab313d FC |
55 | characters. [perl #112790, #116907] |
56 | ||
f53b57fd FC |
57 | =head2 New slice syntax |
58 | ||
99366d6d SH |
59 | The new C<%hash{...}> and C<@array[...]> syntax returns a list of key/value (or |
60 | index/value) pairs. | |
f53b57fd | 61 | |
ba03bc34 | 62 | =head1 Security |
a3fb66a4 | 63 | |
ba03bc34 SH |
64 | XXX Any security-related notices go here. In particular, any security |
65 | vulnerabilities closed should be noted here rather than in the | |
66 | L</Selected Bug Fixes> section. | |
4725e868 | 67 | |
ba03bc34 | 68 | [ List each security issue as a =head2 entry ] |
a3fb66a4 | 69 | |
ba03bc34 | 70 | =head1 Incompatible Changes |
a3fb66a4 | 71 | |
e1c60bf3 | 72 | =head2 Locale decimal point character no longer leaks outside of |
99366d6d | 73 | S<C<use locale>> scope (with the exception of $!) |
e46375fa | 74 | |
e1c60bf3 SH |
75 | This is actually a bug fix, but some code has come to rely on the bug being |
76 | present, so this change is listed here. The current locale that the program is | |
77 | running under is not supposed to be visible to Perl code except within the | |
78 | scope of a S<C<use locale>>. However, until now under certain circumstances, | |
79 | the character used for a decimal point (often a comma) leaked outside the | |
80 | scope. | |
e46375fa | 81 | |
e1c60bf3 SH |
82 | This continues the work released in Perl 5.19.1. It turns out that that did |
83 | not catch all the leaks, including C<printf> and C<sprintf> not respecting | |
84 | S<C<use locale>>. If your code is affected by this change, simply add a | |
85 | S<C<use locale>>. | |
e46375fa | 86 | |
99366d6d | 87 | Now, the only known place where S<C<use locale>> is not respected is in the |
e1c60bf3 | 88 | stringification of L<$!|perlvar/$!>. |
a3fb66a4 | 89 | |
ba03bc34 | 90 | =head1 Deprecations |
a3fb66a4 | 91 | |
ba03bc34 | 92 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
a3fb66a4 | 93 | |
ba03bc34 | 94 | =head2 Module removals |
4725e868 | 95 | |
ba03bc34 | 96 | XXX Remove this section if inapplicable. |
669d990b | 97 | |
ba03bc34 SH |
98 | The following modules will be removed from the core distribution in a |
99 | future release, and will at that time need to be installed from CPAN. | |
100 | Distributions on CPAN which require these modules will need to list them as | |
101 | prerequisites. | |
669d990b | 102 | |
ba03bc34 SH |
103 | The core versions of these modules will now issue C<"deprecated">-category |
104 | warnings to alert you to this fact. To silence these deprecation warnings, | |
105 | install the modules in question from CPAN. | |
669d990b | 106 | |
ba03bc34 SH |
107 | Note that these are (with rare exceptions) fine modules that you are encouraged |
108 | to continue to use. Their disinclusion from core primarily hinges on their | |
109 | necessity to bootstrapping a fully functional, CPAN-capable Perl installation, | |
110 | not usually on concerns over their design. | |
2cf99697 | 111 | |
ba03bc34 | 112 | =over |
2cf99697 | 113 | |
ba03bc34 SH |
114 | XXX Note that deprecated modules should be listed here even if they are listed |
115 | as an updated module in the L</Modules and Pragmata> section. | |
21d55435 | 116 | |
ba03bc34 | 117 | =back |
0f0eae2c | 118 | |
ba03bc34 | 119 | [ List each other deprecation as a =head2 entry ] |
21d55435 | 120 | |
ba03bc34 | 121 | =head1 Performance Enhancements |
a3fb66a4 | 122 | |
ba03bc34 | 123 | =over 4 |
a3fb66a4 | 124 | |
2c99af42 SH |
125 | =item * |
126 | ||
e1c60bf3 SH |
127 | The trie performance enhancement for regular expressions has now been extended |
128 | to those compiled under C</iaa>. | |
2c99af42 | 129 | |
c0ca71c9 | 130 | =back |
42bff0d9 | 131 | |
ba03bc34 | 132 | =head1 Modules and Pragmata |
195e3ea0 | 133 | |
ba03bc34 SH |
134 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
135 | go here. If Module::CoreList is updated, generate an initial draft of the | |
136 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub | |
137 | entries to STDOUT. Results can be pasted in place of the '=head2' entries | |
138 | below. A paragraph summary for important changes should then be added by hand. | |
139 | In an ideal world, dual-life modules would have a F<Changes> file that could be | |
140 | cribbed. | |
195e3ea0 | 141 | |
ba03bc34 | 142 | [ Within each section, list entries as a =item entry ] |
195e3ea0 | 143 | |
ba03bc34 | 144 | =head2 New Modules and Pragmata |
195e3ea0 SH |
145 | |
146 | =over 4 | |
147 | ||
148 | =item * | |
149 | ||
ba03bc34 | 150 | XXX |
195e3ea0 SH |
151 | |
152 | =back | |
153 | ||
ba03bc34 | 154 | =head2 Updated Modules and Pragmata |
42bff0d9 | 155 | |
38663f11 | 156 | =over 4 |
42bff0d9 DG |
157 | |
158 | =item * | |
159 | ||
082a4c42 SH |
160 | L<autodie> has been upgraded from version 2.20 to 2.21. |
161 | ||
162 | Numerous improvements have been made, many speed-related. See the F<Changes> | |
163 | file in the CPAN distribution for full details. | |
164 | ||
165 | =item * | |
166 | ||
8c24c1f7 | 167 | L<B> has been upgraded from version 1.45 to 1.46. |
00c5962f TC |
168 | |
169 | The fix for [perl #118525] introduced a regression in the behaviour of | |
e1c60bf3 | 170 | C<B::CV::GV>, changing the return value from a C<B::SPECIAL> object on a |
99366d6d SH |
171 | C<NULL> C<CvGV> to C<undef>. C<B::CV::GV> again returns a C<B::SPECIAL> object |
172 | in this case. [perl #119351] | |
00c5962f TC |
173 | |
174 | =item * | |
175 | ||
8c24c1f7 SH |
176 | L<B::Concise> has been upgraded from version 0.98 to 0.99. |
177 | ||
479090d3 SH |
178 | The handling of the C<glob> operator, broken since Perl 5.17.6, has been fixed |
179 | and handling of the new kvaslice and kvhslice operators have been added. | |
180 | ||
181 | =item * | |
182 | ||
183 | L<B::Deparse> has been upgraded from version 1.22 to 1.23. | |
184 | ||
185 | The new kvaslice and kvhslice operators have been added. | |
8c24c1f7 SH |
186 | |
187 | =item * | |
188 | ||
d5dcec3a Z |
189 | L<Carp> has been upgraded from version 1.31 to 1.32. |
190 | ||
6ffbec2c Z |
191 | =over 4 |
192 | ||
193 | =item * | |
194 | ||
e1c60bf3 SH |
195 | In stack traces, subroutine arguments that are strings are now quoted in a |
196 | consistent manner, regardless of what characters they contain and how they're | |
197 | internally represented. | |
6ffbec2c Z |
198 | |
199 | =item * | |
200 | ||
99366d6d | 201 | C<Carp> now takes care not to clobber the status variables $! and $^E. |
0a9b5e6e FC |
202 | |
203 | =item * | |
204 | ||
bf4588d0 | 205 | C<Carp> now won't vivify the C<overload::StrVal> glob or subroutine or the |
bd098b9a | 206 | C<overload> stash. |
6ffbec2c Z |
207 | |
208 | =item * | |
209 | ||
e1c60bf3 | 210 | C<Carp> now avoids some unwanted Unicode warnings on older Perls. This doesn't |
99366d6d | 211 | affect behaviour with current Perls. |
6ffbec2c Z |
212 | |
213 | =item * | |
214 | ||
e1c60bf3 SH |
215 | C<Carp::Heavy> detects version mismatch with C<Carp>, to give a good error |
216 | message if a current (stub) C<Carp::Heavy> gets loaded by an old C<Carp> that | |
217 | expects C<Carp::Heavy> to provide subroutines. | |
d5dcec3a | 218 | |
6ffbec2c Z |
219 | =back |
220 | ||
c963f488 SH |
221 | =item * |
222 | ||
3a76eb28 SH |
223 | L<charnames> has been upgraded from version 1.38 to 1.39. |
224 | ||
225 | This module now works on EBCDIC platforms. | |
226 | ||
227 | =item * | |
228 | ||
53bb269a SH |
229 | L<CPAN::Meta> has been upgraded from version 2.132140 to 2.132510. |
230 | ||
231 | No changes have been made to the installed code other than the version bump to | |
232 | keep in sync with the latest CPAN release. | |
233 | ||
234 | =item * | |
235 | ||
202c41cb SH |
236 | L<CPAN::Meta::Requirements> has been upgraded from version 2.122 to 2.123. |
237 | ||
e1c60bf3 SH |
238 | No changes have been made to the installed code other than the version bump to |
239 | keep in sync with the latest CPAN release. | |
202c41cb SH |
240 | |
241 | =item * | |
242 | ||
8c24c1f7 SH |
243 | L<Data::Dumper> has been upgraded from version 2.148 to 2.149. |
244 | ||
5b903226 SH |
245 | This upgrade is part of a larger change to make the array interface 64-bit safe |
246 | by using SSize_t instead of I32 for array indices. | |
8c24c1f7 | 247 | |
2f92fb87 SH |
248 | In addition, an EBCDIC fix has been applied. |
249 | ||
8c24c1f7 SH |
250 | =item * |
251 | ||
252 | L<Devel::Peek> has been upgraded from version 1.13 to 1.14. | |
253 | ||
5b903226 SH |
254 | This upgrade is part of a larger change to preserve referential identity when |
255 | passing C<undef> to a subroutine by using NULL rather than &PL_sv_undef for | |
256 | nonexistent array elements. | |
8c24c1f7 | 257 | |
2f92fb87 SH |
258 | In addition, C<Dump> with no args was broken in Perl 5.19.3, but has now been |
259 | fixed. | |
260 | ||
8c24c1f7 SH |
261 | =item * |
262 | ||
263 | L<DynaLoader> has been upgraded from version 1.19 to 1.20. | |
264 | ||
5b903226 SH |
265 | The documentation now makes it clear, as has always been the case, that |
266 | C<dl_unload_file> is only called automatically to unload all loaded shared | |
267 | objects if the perl interpreter was built with the C macro | |
b228daaa | 268 | DL_UNLOAD_ALL_AT_EXIT defined. Support for GNU DLD has also been removed. |
5b903226 SH |
269 | |
270 | =item * | |
271 | ||
369b9ffe | 272 | L<Encode> has been upgraded from version 2.52 to 2.55. |
f2c09143 SH |
273 | |
274 | An erroneous early return in C<decode_utf8> has been removed, and a bug in | |
369b9ffe SH |
275 | C<_utf8_on> under COW has been fixed. Encode also now uses L<parent> rather |
276 | than L<base> throughout. | |
f2c09143 SH |
277 | |
278 | =item * | |
279 | ||
33826e50 SH |
280 | L<Exporter> has been upgraded from version 5.69 to 5.70. |
281 | ||
282 | A number of typos have been corrected in the documentation. | |
283 | ||
284 | =item * | |
285 | ||
a0e78e9f | 286 | L<ExtUtils::CBuilder> has been upgraded from version 0.280205 to 0.280212. |
2f92fb87 | 287 | |
a0e78e9f SH |
288 | No changes have been made to the installed code other than the version bump to |
289 | keep in sync with the latest CPAN release. | |
2f92fb87 SH |
290 | |
291 | =item * | |
292 | ||
33826e50 SH |
293 | L<ExtUtils::Command> has been upgraded from version 1.17 to 1.18. |
294 | ||
295 | No changes have been made to the installed code other than the version bump to | |
296 | keep in sync with the latest CPAN release. | |
297 | ||
298 | =item * | |
299 | ||
3a76eb28 | 300 | L<ExtUtils::MakeMaker> has been upgraded from version 6.72 to 6.76. |
5b903226 SH |
301 | |
302 | Numerous updates and bug fixes are incorporated. See the F<Changes> file for | |
303 | full details. | |
8c24c1f7 SH |
304 | |
305 | =item * | |
306 | ||
1d0e852c | 307 | L<ExtUtils::ParseXS> has been upgraded from version 3.21 to 3.23. |
f2c09143 | 308 | |
99366d6d SH |
309 | Unquoted "here-doc" markers for typemaps can now be optionally followed by a |
310 | semicolon, just like quoted markers. [perl #119761] | |
f2c09143 SH |
311 | |
312 | =item * | |
313 | ||
77f1e6e4 SH |
314 | L<File::Find> has been upgraded from version 1.24 to 1.25. |
315 | ||
316 | Better diagnostics are now provided in the case of a failed C<chdir>. | |
317 | ||
318 | =item * | |
319 | ||
610ee5e3 TC |
320 | L<File::Glob> has been upgraded from version 1.20 to 1.21. |
321 | ||
99366d6d SH |
322 | C<glob> now warns in the context of C<use warnings "syscalls";> if the supplied |
323 | pattern has an internal NUL (C<"\0">) character. | |
610ee5e3 | 324 | |
d5dcec3a Z |
325 | =item * |
326 | ||
479090d3 SH |
327 | L<FileCache> has been upgraded from version 1.08 to 1.09. |
328 | ||
329 | This upgrade is part of a larger change to use L<parent> rather than L<base>. | |
330 | ||
331 | =item * | |
332 | ||
333 | L<Hash::Util::FieldHash> has been upgraded from version 1.12 to 1.13. | |
334 | ||
335 | This upgrade is part of a larger change to use L<parent> rather than L<base>. | |
336 | ||
337 | =item * | |
338 | ||
0f07ea36 | 339 | L<HTTP::Tiny> has been upgraded from version 0.034 to 0.035. |
4403b774 SH |
340 | |
341 | Encoded data from C<post_form> now preserves term order if data is provided as | |
342 | an array reference. (They are still sorted for consistency if provided as a | |
343 | hash reference.) | |
344 | ||
345 | =item * | |
346 | ||
3a76eb28 SH |
347 | L<I18N::LangTags> has been upgraded from version 0.39 to 0.40. |
348 | ||
349 | Bosnian has now joined Croatian and Serbian in the lists of mutually | |
99366d6d | 350 | intelligible Slavic languages. [perl #72594] |
3a76eb28 SH |
351 | |
352 | =item * | |
353 | ||
77f1e6e4 SH |
354 | L<IO> has been upgraded from version 1.28 to 1.29. |
355 | ||
356 | A minor internals-only change has been made to the XS code. | |
357 | ||
358 | =item * | |
359 | ||
e1c60bf3 | 360 | L<IPC::Open3> has been upgraded from version 1.15 to 1.16. |
8c24c1f7 | 361 | |
5b903226 SH |
362 | This upgrade is part of a larger change to preserve referential identity when |
363 | passing C<undef> to a subroutine by using NULL rather than &PL_sv_undef for | |
364 | nonexistent array elements. | |
8c24c1f7 SH |
365 | |
366 | =item * | |
367 | ||
a0109759 SH |
368 | L<Locale::Codes> has been upgraded from version 3.26 to 3.27. |
369 | ||
370 | New codes have been added and the (deprecated) set of FIPS-10 country codes has | |
371 | been removed. | |
372 | ||
373 | =item * | |
374 | ||
a8479f0e TC |
375 | L<Math::BigInt> has been upgraded from version 1.9992 to 1.9993. |
376 | ||
e1c60bf3 | 377 | Cleaned up the L<Math::BigInt> and L<Math::BigFloat> documentation to be more |
99366d6d | 378 | consistent with other Perl documentation. [perl #86686] |
a8479f0e | 379 | |
99366d6d | 380 | Added a C<bint> method for rounding towards zero. [perl #85296] |
a8479f0e TC |
381 | |
382 | =item * | |
383 | ||
8c24c1f7 SH |
384 | L<Math::BigInt::FastCalc> has been upgraded from version 0.30 to 0.31. |
385 | ||
5b903226 SH |
386 | This upgrade is part of a larger change to make the array interface 64-bit safe |
387 | by using SSize_t instead of I32 for array indices. | |
8c24c1f7 SH |
388 | |
389 | =item * | |
390 | ||
37287258 SH |
391 | L<Module::CoreList> has been upgraded from version 2.97 to 2.98. |
392 | ||
393 | The list of Perl versions covered has been updated. | |
1fdd5e53 | 394 | |
68cdd4b5 SH |
395 | =item * |
396 | ||
6c52f6c9 | 397 | L<Module::Load::Conditional> has been upgraded from version 0.54 to 0.58. |
0022aab5 | 398 | |
99366d6d | 399 | C<requires> has been made more robust. [cpan #83728] |
0022aab5 SH |
400 | |
401 | =item * | |
402 | ||
979f1f2b | 403 | L<Module::Metadata> has been upgraded from version 1.000014 to 1.000018. |
68cdd4b5 SH |
404 | |
405 | The module's DESCRIPTION has been re-worded regarding safety/security to | |
99366d6d | 406 | satisfy CVE-2013-1437. Also, versions are now detainted if needed. [cpan |
bff978fa | 407 | #88576] |
68cdd4b5 | 408 | |
93f72154 SH |
409 | =item * |
410 | ||
e1c60bf3 | 411 | L<mro> has been upgraded from version 1.13 to 1.14. |
8c24c1f7 | 412 | |
5b903226 SH |
413 | This upgrade is part of a larger change to make the array interface 64-bit safe |
414 | by using SSize_t instead of I32 for array indices. | |
8c24c1f7 SH |
415 | |
416 | =item * | |
417 | ||
479090d3 SH |
418 | L<Opcode> has been upgraded from version 1.25 to 1.26. |
419 | ||
420 | The new kvaslice and kvhslice operators have been added. | |
421 | ||
422 | =item * | |
423 | ||
e1c60bf3 SH |
424 | L<parent> has been upgraded from version 0.226 to 0.227. |
425 | ||
426 | No changes have been made to the installed code other than the version bump to | |
427 | keep in sync with the latest CPAN release. | |
428 | ||
429 | =item * | |
430 | ||
545c8cda SH |
431 | L<Parse::CPAN::Meta> has been upgraded from version 1.4405 to 1.4407. |
432 | ||
433 | No changes have been made to the installed code other than the version bump to | |
434 | keep in sync with the latest CPAN release. | |
435 | ||
436 | =item * | |
437 | ||
ba58de91 | 438 | L<Perl::OSType> has been upgraded from version 1.003 to 1.005. |
93f72154 SH |
439 | |
440 | The Unix OSType 'bitrig' has been added. | |
441 | ||
8c24c1f7 SH |
442 | =item * |
443 | ||
dd741cc9 SH |
444 | L<perlfaq> has been upgraded from version 5.0150043 to 5.0150044. |
445 | ||
446 | The use of C<gensym> in a number of examples has been removed, the use of C<&> | |
447 | in subroutine calls is now clarified and several new questions have been | |
448 | answered. | |
449 | ||
450 | =item * | |
451 | ||
479090d3 SH |
452 | L<Pod::Html> has been upgraded from version 1.20 to 1.21. |
453 | ||
454 | This upgrade is part of a larger change to use L<parent> rather than L<base>. | |
455 | ||
456 | =item * | |
457 | ||
8c24c1f7 SH |
458 | L<re> has been upgraded from version 0.25 to 0.26. |
459 | ||
94902151 SH |
460 | This upgrade is part of a larger change to support 64-bit string lengths in the |
461 | regular expression engine. | |
8c24c1f7 SH |
462 | |
463 | =item * | |
464 | ||
e1c60bf3 SH |
465 | L<Scalar::Util> has been upgraded from version 1.31 to 1.32. |
466 | ||
467 | The documentation of C<blessed> has been improved to mention the fact that | |
468 | package "0" is defined but false. | |
469 | ||
470 | =item * | |
471 | ||
406cccc2 SH |
472 | L<Socket> has been upgraded from version 2.011 to 2.012. |
473 | ||
99366d6d SH |
474 | Syntax errors when building on the WinCE platform have been fixed. [cpan |
475 | #87389] | |
406cccc2 SH |
476 | |
477 | =item * | |
478 | ||
8c24c1f7 SH |
479 | L<Storable> has been upgraded from version 2.46 to 2.47. |
480 | ||
5b903226 SH |
481 | This upgrade is part of a larger change to preserve referential identity when |
482 | passing C<undef> to a subroutine by using NULL rather than &PL_sv_undef for | |
483 | nonexistent array elements. | |
8c24c1f7 SH |
484 | |
485 | =item * | |
486 | ||
2f92fb87 SH |
487 | L<Term::ReadLine> has been upgraded from version 1.10 to 1.14. |
488 | ||
489 | Term::ReadLine::EditLine support has been added. | |
490 | ||
491 | =item * | |
492 | ||
3a76eb28 SH |
493 | L<Time::Piece> has been upgraded from version 1.22 to 1.23. |
494 | ||
495 | Day of year parsing (like "%y%j") has been fixed. | |
496 | ||
497 | =item * | |
498 | ||
60f577e0 SH |
499 | L<Unicode::Collate> has been upgraded from version 0.98 to 0.99. |
500 | ||
e1c60bf3 SH |
501 | By default, out-of-range values are replaced with C<U+FFFD> (REPLACEMENT |
502 | CHARACTER) when C<UCA_Version> E<gt>= 22, or ignored when C<UCA_Version> E<lt>= | |
503 | 20. When C<UCA_Version> E<gt>= 22, the weights of out-of-range values can be | |
504 | overridden. | |
60f577e0 SH |
505 | |
506 | =item * | |
507 | ||
3a76eb28 SH |
508 | L<Unicode::UCD> has been upgraded from version 0.53 to 0.54. |
509 | ||
510 | This module now works on EBCDIC platforms. | |
511 | ||
512 | =item * | |
513 | ||
5565c738 SH |
514 | L<version> has been upgraded from version 0.9903 to 0.9904. |
515 | ||
516 | No changes have been made to the installed code other than the version bump to | |
517 | keep in sync with the latest CPAN release. | |
518 | ||
519 | =item * | |
520 | ||
8c24c1f7 SH |
521 | L<warnings> has been upgraded from version 1.18 to 1.19. |
522 | ||
5b903226 | 523 | The C<syscalls> warnings category has been added to check for embedded NUL |
b8f07b9f | 524 | (C<"\0">) characters in pathnames and string arguments to other system calls. |
8c24c1f7 SH |
525 | |
526 | =item * | |
527 | ||
528 | L<XS::Typemap> has been upgraded from version 0.10 to 0.11. | |
529 | ||
99366d6d SH |
530 | XXX TODO |
531 | ||
583aa5c2 RS |
532 | =back |
533 | ||
ba03bc34 | 534 | =head2 Removed Modules and Pragmata |
a3fb66a4 SH |
535 | |
536 | =over 4 | |
537 | ||
538 | =item * | |
539 | ||
ba03bc34 | 540 | XXX |
a3fb66a4 SH |
541 | |
542 | =back | |
543 | ||
ba03bc34 | 544 | =head1 Documentation |
8fecfff0 | 545 | |
ba03bc34 SH |
546 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
547 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
8fecfff0 | 548 | |
ba03bc34 | 549 | =head2 New Documentation |
8fecfff0 | 550 | |
ba03bc34 | 551 | XXX Changes which create B<new> files in F<pod/> go here. |
195e3ea0 | 552 | |
ba03bc34 | 553 | =head3 L<XXX> |
195e3ea0 | 554 | |
ba03bc34 | 555 | XXX Description of the purpose of the new file here |
195e3ea0 | 556 | |
ba03bc34 | 557 | =head2 Changes to Existing Documentation |
195e3ea0 | 558 | |
ba03bc34 SH |
559 | XXX Changes which significantly change existing files in F<pod/> go here. |
560 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
561 | section. | |
195e3ea0 | 562 | |
ba03bc34 | 563 | =head3 L<XXX> |
a3fb66a4 SH |
564 | |
565 | =over 4 | |
566 | ||
567 | =item * | |
568 | ||
ba03bc34 | 569 | XXX Description of the change here |
a3fb66a4 SH |
570 | |
571 | =back | |
572 | ||
c0ca71c9 AP |
573 | =head1 Diagnostics |
574 | ||
575 | The following additions or changes have been made to diagnostic output, | |
576 | including warnings and fatal error messages. For the complete list of | |
577 | diagnostic messages, see L<perldiag>. | |
578 | ||
ba03bc34 SH |
579 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
580 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
581 | ||
c0ca71c9 AP |
582 | =head2 New Diagnostics |
583 | ||
ba03bc34 SH |
584 | XXX Newly added diagnostic messages go under here, separated into New Errors |
585 | and New Warnings | |
586 | ||
12dcbffb | 587 | =head3 New Errors |
583aa5c2 | 588 | |
38663f11 | 589 | =over 4 |
583aa5c2 | 590 | |
b8a02ff1 | 591 | =item * |
583aa5c2 | 592 | |
ba03bc34 | 593 | XXX L<message|perldiag/"message"> |
583aa5c2 | 594 | |
b8a02ff1 | 595 | =back |
583aa5c2 | 596 | |
12dcbffb | 597 | =head3 New Warnings |
96d496e4 | 598 | |
38663f11 | 599 | =over 4 |
b8a02ff1 DG |
600 | |
601 | =item * | |
602 | ||
610ee5e3 TC |
603 | L<Invalid \0 character in %s for %s: %s\0%s|perldiag/"Invalid \0 character in %s for %s: %s\0%s"> |
604 | ||
b8f07b9f | 605 | (W syscalls) Embedded \0 characters in pathnames or other system call arguments |
99366d6d | 606 | produce a warning as of 5.20. The parts after the \0 were formerly ignored by |
b8f07b9f | 607 | system calls. |
487a71ff | 608 | |
12dcbffb | 609 | =back |
1310e590 | 610 | |
ba03bc34 SH |
611 | =head2 Changes to Existing Diagnostics |
612 | ||
613 | XXX Changes (i.e. rewording) of diagnostic messages go here | |
e727f86a | 614 | |
12dcbffb | 615 | =over 4 |
e727f86a | 616 | |
81ca6d44 FC |
617 | =item * |
618 | ||
c1d900c3 BF |
619 | Warnings and errors from the regexp engine are now UTF-8 clean |
620 | ||
621 | =item * | |
622 | ||
99366d6d SH |
623 | The "Unknown switch condition" error message has some slight changes. This |
624 | error triggers when there is an unknown condition in a C<(?(foo))> conditional. | |
625 | The error message used to read: | |
c1d900c3 BF |
626 | |
627 | Unknown switch condition (?(%s in regex; | |
628 | ||
99366d6d SH |
629 | But what %s could be was mostly up to luck. For C<(?(foobar))>, you might have |
630 | seen "fo" or "f". For Unicode characters, you would generally get a corrupted | |
631 | string. The message has been changed to read: | |
c1d900c3 BF |
632 | |
633 | Unknown switch condition (?(...)) in regex; | |
634 | ||
99366d6d SH |
635 | Additionally, the C<'E<lt>-- HERE'> marker in the error will now point to the |
636 | correct spot in the regex. | |
e38fc308 | 637 | |
ba03bc34 | 638 | =back |
a34da6c4 | 639 | |
ba03bc34 | 640 | =head1 Utility Changes |
a34da6c4 | 641 | |
ba03bc34 SH |
642 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here. |
643 | Most of these are built within the directories F<utils> and F<x2p>. | |
558673e6 | 644 | |
ba03bc34 SH |
645 | [ List utility changes as a =head3 entry for each utility and =item |
646 | entries for each change | |
647 | Use L<XXX> with program names to get proper documentation linking. ] | |
558673e6 | 648 | |
b2d74da6 | 649 | =head3 L<find2perl> |
47a7c93d | 650 | |
12dcbffb | 651 | =over 4 |
b5a80c26 | 652 | |
7f1d4316 FC |
653 | =item * |
654 | ||
99366d6d | 655 | L<find2perl> now handles C<?> wildcards correctly. [perl #113054] |
7f1d4316 | 656 | |
ba03bc34 | 657 | =back |
ef947715 | 658 | |
ba03bc34 | 659 | =head1 Configuration and Compilation |
ef947715 | 660 | |
ba03bc34 SH |
661 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
662 | go here. Any other changes to the Perl build process should be listed here. | |
663 | However, any platform-specific changes should be listed in the | |
664 | L</Platform Support> section, instead. | |
02bef66e | 665 | |
ba03bc34 | 666 | [ List changes as a =item entry ]. |
d30fb844 | 667 | |
12dcbffb | 668 | =over 4 |
21c01741 | 669 | |
467582e8 FC |
670 | =item * |
671 | ||
e1c60bf3 SH |
672 | The F<Makefile.PL> for C<SDBM_File> now generates a better F<Makefile>, which |
673 | avoids a race condition during parallel makes, which could cause the build to | |
674 | fail. This is the last known parallel make problem (on *nix platforms), and | |
675 | therefore we believe that a parallel make should now always be error free. | |
4d106cc5 NC |
676 | |
677 | =for comment | |
678 | ||
679 | Strictly only for a build where build files such as F<Makefile.SH> have not | |
680 | been updated by C<git> in an already configured and built tree. | |
467582e8 | 681 | |
ba03bc34 | 682 | =back |
64da853d | 683 | |
ba03bc34 | 684 | =head1 Testing |
8847717e | 685 | |
ba03bc34 SH |
686 | XXX Any significant changes to the testing of a freshly built perl should be |
687 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
688 | large changes to the testing harness (e.g. when parallel testing was added). | |
689 | Changes to existing files in F<t/> aren't worth summarizing, although the bugs | |
690 | that they represent may be covered elsewhere. | |
8847717e | 691 | |
ba03bc34 | 692 | [ List each test improvement as a =item entry ] |
f1b856da | 693 | |
ba03bc34 | 694 | =over 4 |
f1b856da | 695 | |
eaed284b FC |
696 | =item * |
697 | ||
5b903226 | 698 | The test script F<t/bigmem/regexp.t> has been added to test that regular |
28f52e64 | 699 | expression matches on very large strings now succeed as expected. |
8c24c1f7 SH |
700 | |
701 | =item * | |
702 | ||
5b903226 SH |
703 | Various cases of C<die>, C<last>, C<goto> and C<exit> triggering C<DESTROY> are |
704 | now tested by the new test script F<t/op/rt119311.t>. | |
8c24c1f7 SH |
705 | |
706 | =item * | |
707 | ||
99366d6d SH |
708 | The new test script F<t/win32/signal.t> tests that $! and $^E are now preserved |
709 | across signal handlers by the Win32 signal emulation code. | |
8c24c1f7 SH |
710 | |
711 | =item * | |
712 | ||
5b903226 SH |
713 | The test script F<t/x2p/find2perl.t> has been added to test the F<find2perl> |
714 | program on platforms where it is practical to do so. | |
eaed284b | 715 | |
ba03bc34 | 716 | =back |
0335212c | 717 | |
ba03bc34 | 718 | =head1 Platform Support |
0335212c | 719 | |
ba03bc34 | 720 | XXX Any changes to platform support should be listed in the sections below. |
c3e455cf | 721 | |
ba03bc34 SH |
722 | [ Within the sections, list each platform as a =item entry with specific |
723 | changes as paragraphs below it. ] | |
c3e455cf | 724 | |
ba03bc34 | 725 | =head2 New Platforms |
019705bc | 726 | |
ba03bc34 SH |
727 | XXX List any platforms that this version of perl compiles on, that previous |
728 | versions did not. These will either be enabled by new files in the F<hints/> | |
729 | directories, or new subdirectories and F<README> files at the top level of the | |
730 | source tree. | |
019705bc | 731 | |
ba03bc34 | 732 | =over 4 |
25921d77 | 733 | |
44d412d1 | 734 | =item Bitrig |
25921d77 | 735 | |
489ee6b6 | 736 | Compile support has been added for Bitrig, a fork of OpenBSD. |
28ea507e | 737 | |
ba03bc34 | 738 | =back |
28ea507e | 739 | |
ba03bc34 | 740 | =head2 Discontinued Platforms |
28ea507e | 741 | |
99366d6d SH |
742 | Configure hints and conditional code for several very old platforms has been |
743 | removed. We have not received reports for these in many years, typically not | |
744 | since Perl 5.6.0. | |
7b0e9f13 | 745 | |
ba03bc34 | 746 | =over 4 |
074d6753 | 747 | |
7b0e9f13 | 748 | =item AT&T 3b1 |
074d6753 | 749 | |
99366d6d SH |
750 | Configure support for the 3b1, also known as the AT&T Unix PC (and the similar |
751 | AT&T 7300), has been removed. | |
4e5b563d | 752 | |
ba03bc34 | 753 | =back |
4e5b563d | 754 | |
ba03bc34 | 755 | =head2 Platform-Specific Notes |
ee818f56 | 756 | |
ba03bc34 SH |
757 | XXX List any changes for specific platforms. This could include configuration |
758 | and compilation changes or changes in portability/compatibility. However, | |
759 | changes within modules for platforms should generally be listed in the | |
760 | L</Modules and Pragmata> section. | |
ee818f56 | 761 | |
ba03bc34 | 762 | =over 4 |
c054cc81 | 763 | |
8c24c1f7 | 764 | =item WinCE |
c054cc81 | 765 | |
99366d6d | 766 | The building of XS modules has largely been restored. Several still cannot |
5b903226 SH |
767 | (yet) be built but it is now possible to build Perl on WinCE with only a couple |
768 | of further patches (to L<Socket> and L<ExtUtils::MakeMaker>), hopefully to be | |
769 | incorporated soon. | |
efcbb8b2 | 770 | |
846aaad8 CBW |
771 | =item GNU/Hurd |
772 | ||
773 | The BSD compatibility library C<libbsd> is no longer required for builds. | |
774 | ||
ba03bc34 | 775 | =back |
efcbb8b2 | 776 | |
ba03bc34 | 777 | =head1 Internal Changes |
36813eeb | 778 | |
ba03bc34 SH |
779 | XXX Changes which affect the interface available to C<XS> code go here. Other |
780 | significant internal changes for future core maintainers should be noted as | |
781 | well. | |
36813eeb | 782 | |
ba03bc34 | 783 | [ List each change as a =item entry ] |
52937067 | 784 | |
ba03bc34 | 785 | =over 4 |
52937067 | 786 | |
6760cac5 FC |
787 | =item * |
788 | ||
99366d6d SH |
789 | The internal representation has changed for the match variables $1, $2 etc., |
790 | $`, $&, $', ${^PREMATCH}, ${^MATCH} and ${^POSTMATCH}. It uses slightly less | |
791 | memory, avoids string comparisons and numeric conversions during lookup, and | |
792 | uses 23 fewer lines of C. This change should not affect any external code. | |
671f9ff7 | 793 | |
c2ee494e FC |
794 | =item * |
795 | ||
796 | Arrays now use NULL internally to represent unused slots, instead of | |
99366d6d SH |
797 | &PL_sv_undef. &PL_sv_undef is no longer treated as a special value, so |
798 | av_store(av, 0, &PL_sv_undef) will cause element 0 of that array to hold a | |
799 | read-only undefined scalar. C<$array[0] = anything> will croak and | |
c2ee494e FC |
800 | C<\$array[0]> will compare equal to C<\undef>. |
801 | ||
ba03bc34 | 802 | =back |
671f9ff7 | 803 | |
ba03bc34 | 804 | =head1 Selected Bug Fixes |
912a9a8f | 805 | |
ba03bc34 SH |
806 | XXX Important bug fixes in the core language are summarized here. Bug fixes in |
807 | files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>. | |
912a9a8f | 808 | |
ba03bc34 | 809 | [ List each fix as a =item entry ] |
0d25b9d4 | 810 | |
ba03bc34 | 811 | =over 4 |
0d25b9d4 | 812 | |
a82207ba FC |
813 | =item * |
814 | ||
99366d6d | 815 | The value of $^E is now saved across signal handlers on Windows. [perl #85104] |
18e2e6cd | 816 | |
85037c5c FC |
817 | =item * |
818 | ||
99366d6d SH |
819 | A lexical filehandle (as in C<open my $fh...>) is usually given a name based on |
820 | the current package and the name of the variable, e.g. "main::$fh". Under | |
821 | recursion, the filehandle was losing the "$fh" part of the name. This has been | |
822 | fixed. | |
85037c5c | 823 | |
0664879b FC |
824 | =item * |
825 | ||
99366d6d SH |
826 | Perl 5.19.3 accidentally extended the previous bug to all closures, even when |
827 | not called recursively, i.e. lexical handles in closure would always be called | |
828 | "main::" or "MyPackage::" etc. This has been fixed. | |
0664879b | 829 | |
343e7167 FC |
830 | =item * |
831 | ||
99366d6d SH |
832 | Uninitialized values returned by XSUBs are no longer exempt from uninitialized |
833 | warnings. [perl #118693] | |
343e7167 | 834 | |
1261f9a2 FC |
835 | =item * |
836 | ||
99366d6d | 837 | C<elsif ("")> no longer erroneously produces a warning about void context. |
1261f9a2 FC |
838 | [perl #118753] |
839 | ||
c2ee494e FC |
840 | =item * |
841 | ||
99366d6d SH |
842 | Passing C<undef> to a subroutine now causes @_ to contain the same read-only |
843 | undefined scalar that C<undef> returns. Furthermore, C<exists $_[0]> will now | |
844 | return true if C<undef> was the first argument. [perl #7508, #109726] | |
c2ee494e | 845 | |
21c314ca FC |
846 | =item * |
847 | ||
99366d6d SH |
848 | Passing a nonexistent array element to a subroutine does not usually autovivify |
849 | it unless the subroutine modifies its argument. This did not work correctly | |
850 | with negative indices and with nonexistent elements within the array. The | |
851 | element would be vivified immediately. The delayed vivification has been | |
852 | extended to work with those. [perl #118691] | |
21c314ca | 853 | |
7a7c28da FC |
854 | =item * |
855 | ||
99366d6d SH |
856 | Assigning references or globs to the scalar returned by $#foo after the @foo |
857 | array has been freed no longer causes assertion failures on debugging builds | |
858 | and memory leaks on regular builds. | |
7a7c28da | 859 | |
8bdbe216 FC |
860 | =item * |
861 | ||
99366d6d SH |
862 | Perl 5.19.2 threw line numbers off after some cases of line breaks following |
863 | keywords, such as | |
8bdbe216 FC |
864 | |
865 | 1 unless | |
866 | 1; | |
867 | ||
868 | This has been fixed. [perl #118931] | |
869 | ||
96c0ab99 FC |
870 | =item * |
871 | ||
99366d6d SH |
872 | On 64-bit platforms, large ranges like 1..1000000000000 no longer crash, but |
873 | eat up all your memory instead. [perl #119161] | |
96c0ab99 | 874 | |
c2823449 FC |
875 | =item * |
876 | ||
877 | C<__DATA__> now puts the C<DATA> handle in the right package, even if the | |
878 | current package has been renamed through glob assignment. | |
879 | ||
ab82aa51 FC |
880 | =item * |
881 | ||
882 | The string position set by C<pos> could shift if the string changed | |
883 | representation internally to or from utf8. This could happen, e.g., with | |
884 | references to objects with string overloading. | |
885 | ||
c4403db5 FC |
886 | =item * |
887 | ||
cabe2f6f FC |
888 | Taking references to the return values of two C<pos> calls with the same |
889 | argument, and then assigning a reference to one and C<undef> to the other, | |
890 | could result in assertion failures or memory leaks. | |
891 | ||
892 | =item * | |
893 | ||
99366d6d SH |
894 | Elements of @- and @+ now update correctly when they refer to nonexistent |
895 | captures. Previously, a referenced element (C<$ref = \$-[1]>) could refer to | |
896 | the wrong match after subsequent matches. | |
c4403db5 | 897 | |
e7f2d651 FC |
898 | =item * |
899 | ||
99366d6d SH |
900 | When C<die>, C<last>, C<next>, C<redo>, C<goto> and C<exit> unwind the scope, |
901 | it is possible for C<DESTROY> recursively to call a subroutine or format that | |
902 | is currently being exited. It that case, sometimes the lexical variables | |
903 | inside the sub would start out having values from the outer call, instead of | |
904 | being undefined as they should. This has been fixed. [perl #119311] | |
e7f2d651 | 905 | |
d66ad208 FC |
906 | =item * |
907 | ||
99366d6d | 908 | ${^MPEN} is no longer treated as a synonym for ${^MATCH}. |
d66ad208 | 909 | |
ab70e266 FC |
910 | =item * |
911 | ||
912 | Perl now tries a little harder to return the correct line number in | |
913 | C<(caller)[2]>. [perl #115768] | |
914 | ||
ae66f305 FC |
915 | =item * |
916 | ||
99366d6d SH |
917 | Line numbers inside multiline quote-like operators are now reported correctly. |
918 | [perl #3643] | |
ae66f305 FC |
919 | |
920 | =item * | |
921 | ||
99366d6d SH |
922 | C<#line> directives inside code embedded in quote-like operators are now |
923 | respected. | |
ae66f305 | 924 | |
f8f2d1ac FC |
925 | =item * |
926 | ||
bc86bb16 FC |
927 | Line numbers are now correct inside the second here-doc when two here-doc |
928 | markers occur on the same line. | |
929 | ||
930 | =item * | |
931 | ||
99366d6d SH |
932 | Starting with Perl 5.12, line numbers were off by one if the B<-d> switch was |
933 | used on the #! line. Now they are correct. | |
b3c26d51 FC |
934 | |
935 | =item * | |
936 | ||
99366d6d SH |
937 | Perl 5.19.2 inadvertently stopped some lines of code from being available to |
938 | the debugger if C<=E<gt>> occurred at the beginning of a line and the previous | |
939 | line ended with a keyword. This is now fixed. | |
f8f2d1ac | 940 | |
ac29d451 FC |
941 | =item * |
942 | ||
99366d6d SH |
943 | Perl 5.19.2 allowed the PERL5DB environment variable to contain multiple lines |
944 | of code, but those lines were not made available to the debugger. Now they are | |
945 | all stuffed into line number 0, accessible via C<$dbline[0]> in the debugger. | |
b3c26d51 FC |
946 | |
947 | =item * | |
948 | ||
ac29d451 FC |
949 | An optimisation in Perl 5.18 made incorrect assumptions causing a bad |
950 | interaction with the L<Devel::CallParser> CPAN module. If the module was | |
99366d6d SH |
951 | loaded then lexical variables declared in separate statements following a |
952 | C<my(...)> list might fail to be cleared on scope exit. | |
ac29d451 | 953 | |
f34cd7c8 FC |
954 | =item * |
955 | ||
99366d6d SH |
956 | C<&xsub> and C<goto &xsub> calls now allow the called subroutine to autovivify |
957 | elements of @_. | |
f34cd7c8 | 958 | |
6f9296e1 FC |
959 | =item * |
960 | ||
99366d6d SH |
961 | C<&xsub> and C<goto &xsub> no longer crash if *_ has been undefined and has no |
962 | ARRAY entry (i.e. @_ does not exist). | |
6f9296e1 | 963 | |
82d5eae5 FC |
964 | =item * |
965 | ||
1144b44d FC |
966 | C<&xsub> and C<goto &xsub> now work with tied @_. |
967 | ||
968 | =item * | |
969 | ||
82d5eae5 FC |
970 | Overlong identifiers no longer cause a buffer overflow (and a crash). They |
971 | started doing so in Perl 5.18. | |
972 | ||
cfbe45f9 FC |
973 | =item * |
974 | ||
99366d6d SH |
975 | The warning "Scalar value @hash{foo} better written as $hash{foo}" now produces |
976 | far fewer false positives. In particular, C<@hash{+function_returning_a_list}> | |
977 | and C<@hash{ qw "foo bar baz" }> no longer warn. The same applies to array | |
978 | slices. [perl #28380, #114024] | |
cfbe45f9 | 979 | |
ba03bc34 | 980 | =back |
18e2e6cd | 981 | |
ba03bc34 | 982 | =head1 Known Problems |
a82207ba | 983 | |
ba03bc34 SH |
984 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
985 | tests that had to be C<TODO>ed for the release would be noted here. Unfixed | |
986 | platform specific bugs also go here. | |
31d5dc65 | 987 | |
ba03bc34 | 988 | [ List each fix as a =item entry ] |
31d5dc65 | 989 | |
ba03bc34 | 990 | =over 4 |
31d5dc65 | 991 | |
74dac2b5 FC |
992 | =item * |
993 | ||
ba03bc34 | 994 | XXX |
74dac2b5 | 995 | |
ba03bc34 | 996 | =back |
8fecfff0 | 997 | |
ba03bc34 | 998 | =head1 Obituary |
8fecfff0 | 999 | |
ba03bc34 SH |
1000 | XXX If any significant core contributor has died, we've added a short obituary |
1001 | here. | |
d7bfa554 | 1002 | |
583aa5c2 | 1003 | =head1 Acknowledgements |
a75569c0 | 1004 | |
ba03bc34 SH |
1005 | XXX Generate this with: |
1006 | ||
1007 | perl Porting/acknowledgements.pl v5.19.3..HEAD | |
f5b73711 | 1008 | |
44691e6f AB |
1009 | =head1 Reporting Bugs |
1010 | ||
e08634c5 SH |
1011 | If you find what you think is a bug, you might check the articles recently |
1012 | posted to the comp.lang.perl.misc newsgroup and the perl bug database at | |
1013 | http://rt.perl.org/perlbug/ . There may also be information at | |
1014 | http://www.perl.org/ , the Perl Home Page. | |
44691e6f | 1015 | |
e08634c5 SH |
1016 | If you believe you have an unreported bug, please run the L<perlbug> program |
1017 | included with your release. Be sure to trim your bug down to a tiny but | |
1018 | sufficient test case. Your bug report, along with the output of C<perl -V>, | |
1019 | will be sent off to perlbug@perl.org to be analysed by the Perl porting team. | |
44691e6f AB |
1020 | |
1021 | If the bug you are reporting has security implications, which make it | |
e08634c5 SH |
1022 | inappropriate to send to a publicly archived mailing list, then please send it |
1023 | to perl5-security-report@perl.org. This points to a closed subscription | |
1024 | unarchived mailing list, which includes all the core committers, who will be | |
1025 | able to help assess the impact of issues, figure out a resolution, and help | |
f9001595 | 1026 | co-ordinate the release of patches to mitigate or fix the problem across all |
e08634c5 SH |
1027 | platforms on which Perl is supported. Please only use this address for |
1028 | security issues in the Perl core, not for modules independently distributed on | |
1029 | CPAN. | |
44691e6f AB |
1030 | |
1031 | =head1 SEE ALSO | |
1032 | ||
e08634c5 SH |
1033 | The F<Changes> file for an explanation of how to view exhaustive details on |
1034 | what changed. | |
44691e6f AB |
1035 | |
1036 | The F<INSTALL> file for how to build Perl. | |
1037 | ||
1038 | The F<README> file for general stuff. | |
1039 | ||
1040 | The F<Artistic> and F<Copying> files for copyright information. | |
1041 | ||
1042 | =cut |