This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for 9be9e8a
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 [ this is a template for a new perldelta file.  Any text flagged as XXX needs
6 to be processed before release. ]
7
8 perldelta - what is new for perl v5.21.1
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.21.0 release and the 5.21.1
13 release.
14
15 If you are upgrading from an earlier release such as 5.20.0, first read
16 L<perl5210delta>, which describes differences between 5.20.0 and 5.21.0.
17
18 =head1 Notice
19
20 XXX Any important notices here
21
22 =head1 Core Enhancements
23
24 XXX New core language features go here.  Summarize user-visible core language
25 enhancements.  Particularly prominent performance optimisations could go
26 here, but most should go in the L</Performance Enhancements> section.
27
28 [ List each enhancement as a =head2 entry ]
29
30 =head2 Experimental C Backtrace API
31
32 Starting from Perl 5.21.1, on some platforms Perl supports retrieving
33 the C level backtrace (similar to what symbolic debuggers like gdb do).
34
35 The backtrace returns the stack trace of the C call frames,
36 with the symbol names (function names), the object names (like "perl"),
37 and if it can, also the source code locations (file:line).
38
39 The supported platforms are Linux and OS X (some *BSD might work at
40 least partly, but they have not yet been tested).
41
42 The feature needs to be enabled with C<Configure -Dusecbacktrace>.
43
44 Also included is a C API to retrieve backtraces.
45
46 See L<perlhacktips/"C backtrace"> for more information.
47
48 =head2 C<qr/foo/x> now ignores any Unicode pattern white space
49
50 The C</x> regular expression modifier allows the pattern to contain
51 white space and comments, both of which are ignored, for improved
52 readability.  Until now, not all the white space characters that Unicode
53 designates for this purpose were handled.  The additional ones now
54 recognized are
55 U+0085 NEXT LINE,
56 U+200E LEFT-TO-RIGHT MARK,
57 U+200F RIGHT-TO-LEFT MARK,
58 U+2028 LINE SEPARATOR,
59 and
60 U+2029 PARAGRAPH SEPARATOR.
61
62 =head2 S<C<use locale>> can restrict which locale categories are affected
63
64 It is now possible to pass a parameter to S<C<use locale>> to specify
65 a subset of locale categories to be locale-aware, with the remaining
66 ones unaffected.  See L<perllocale/The "use locale" pragma> for details.
67
68 =head1 Security
69
70 XXX Any security-related notices go here.  In particular, any security
71 vulnerabilities closed should be noted here rather than in the
72 L</Selected Bug Fixes> section.
73
74 [ List each security issue as a =head2 entry ]
75
76 =head1 Incompatible Changes
77
78 XXX For a release on a stable branch, this section aspires to be:
79
80     There are no changes intentionally incompatible with 5.XXX.XXX
81     If any exist, they are bugs, and we request that you submit a
82     report.  See L</Reporting Bugs> below.
83
84 =head2 C<\N{}> with a sequence of multiple spaces is now a fatal error.
85
86 This has been deprecated since v5.18.
87
88 =head2 In double-quotish C<\cI<X>>, I<X> must now be a printable ASCII character
89
90 In prior releases, failure to do this raised a deprecation warning.
91
92 =head2 Splitting the tokens C<(?> and C<(*> in regular expressions is
93 now a fatal compilation error.
94
95 These had been deprecated since v5.18.
96
97 =head2 5 additional characters are treated as white space under C</x> in
98 regex patterns (unless escaped)
99
100 The use of these characters with C</x> outside bracketed character
101 classes and when not preceeded by a backslash has raised a deprecation
102 warning since v5.18.  Now they will be ignored.  See L</qrE<sol>fooE<sol>x>
103 for the list of the five characters.
104
105 =head2 Comment lines within S<C<(?[ ])>> now are ended only by a C<\n>
106
107 S<C<(?[ ])>>  is an experimental feature, introduced in v5.18.  It operates
108 as if C</x> is always enabled.  But there was a difference, comment
109 lines (following a C<#> character) were terminated by anything matching
110 C<\R> which includes all vertical whitespace, such as form feeds.  For
111 consistency, this is now changed to match what terminates comment lines
112 outside S<C<(?[ ])>>, namely a C<\n> (even if escaped), which is the
113 same as what terminates a heredoc string and formats.
114
115 =head2 Omitting % and @ on hash and array names is no longer permitted
116
117 Really old Perl let you omit the @ on array names and the % on hash
118 names in some spots.  This has issued a deprecation warning since Perl
119 5.0, and is no longer permitted.
120
121 =head2 C<"$!"> text is now in English outside C<"use locale"> scope
122
123 Previously, the text, unlike almost everything else, always came out
124 based on the current underlying locale of the program.  (Also affected
125 on some systems is C<"$^E>".)  For programs that are unprepared to
126 handle locale, this can cause garbage text to be displayed.  It's better
127 to display text that is translatable via some tool than garbage text
128 which is much harder to figure out.
129
130 =head2 C<"$!"> text will be returned in UTF-8 when appropriate
131
132 The stringification of C<$!> and C<$^E> will have the UTF-8 flag set
133 when the text is actually non-ASCII UTF-8.  This will enable programs
134 that are set up to be locale-aware to properly output messages in the
135 user's native language.  Code that needs to continue the 5.20 and
136 earlier behavior can do the stringification within the scopes of both
137 'use bytes' and 'use locale ":messages".  No other Perl operations will
138 be affected by locale; only C<$!> and C<$^E> stringification.  The
139 'bytes' pragma causes the UTF-8 flag to not be set, just as in previous
140 Perl releases.  This resolves [perl #112208].
141
142 =head1 Deprecations
143
144 XXX Any deprecated features, syntax, modules etc. should be listed here.
145
146 =head2 Using a NO-BREAK space in a character alias for C<\N{...}> is now
147 deprecated
148
149 This non-graphic character is essentially indistinguishable from a
150 regular space, and so should not be allowed.  See
151 L<charnames/CUSTOM ALIASES>.
152
153 =head2 Module removals
154
155 XXX Remove this section if inapplicable.
156
157 The following modules will be removed from the core distribution in a
158 future release, and will at that time need to be installed from CPAN.
159 Distributions on CPAN which require these modules will need to list them as
160 prerequisites.
161
162 The core versions of these modules will now issue C<"deprecated">-category
163 warnings to alert you to this fact.  To silence these deprecation warnings,
164 install the modules in question from CPAN.
165
166 Note that these are (with rare exceptions) fine modules that you are encouraged
167 to continue to use.  Their disinclusion from core primarily hinges on their
168 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
169 not usually on concerns over their design.
170
171 =over
172
173 =item XXX
174
175 XXX Note that deprecated modules should be listed here even if they are listed
176 as an updated module in the L</Modules and Pragmata> section.
177
178 =back
179
180 [ List each other deprecation as a =head2 entry ]
181
182 =head1 Performance Enhancements
183
184 XXX Changes which enhance performance without changing behaviour go here.
185 There may well be none in a stable release.
186
187 [ List each enhancement as a =item entry ]
188
189 =over 4
190
191 =item *
192
193 Many internal functions have been refactored to improve performance and reduce
194 their memory footprints.
195
196 L<[perl #121436]|https://rt.perl.org/Ticket/Display.html?id=121436>
197 L<[perl #121906]|https://rt.perl.org/Ticket/Display.html?id=121906>
198 L<[perl #121969]|https://rt.perl.org/Ticket/Display.html?id=121969>
199
200 =item *
201
202 C<-T> and C<-B> filetests will return sooner when an empty file is detected.
203
204 L<perl #121489|https://rt.perl.org/Ticket/Display.html?id=121489>
205
206 =back
207
208 =head1 Modules and Pragmata
209
210 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
211 go here.  If Module::CoreList is updated, generate an initial draft of the
212 following sections using F<Porting/corelist-perldelta.pl>.  A paragraph summary
213 for important changes should then be added by hand.  In an ideal world,
214 dual-life modules would have a F<Changes> file that could be cribbed.
215
216 [ Within each section, list entries as a =item entry ]
217
218 =head2 New Modules and Pragmata
219
220 =over 4
221
222 =item *
223
224 XXX
225
226 =back
227
228 =head2 Updated Modules and Pragmata
229
230 =over 4
231
232 =item *
233
234 L<Carp> has been upgraded from version 1.3301 to 1.34.
235
236 Carp::Heavy now ignores version mismatches with Carp if Carp is newer
237 than 1.12, since Carp::Heavy's guts were merged into Carp at that
238 point.
239 L<[perl #121574]|https://rt.perl.org/Ticket/Display.html?id=121574>
240
241 =item *
242
243 L<Data::Dumper> has been upgraded from version 2.151 to 2.152.
244
245 Changes to resolve Coverity issues.
246
247 XS dumps incorrectly stored the name of code references stored in a
248 GLOB.
249 L<[perl #122070]|https://rt.perl.org/Ticket/Display.html?id=122070>
250
251 =item *
252
253 L<Encode> has been upgraded from version 2.60_01 to 2.62.
254
255 B<piconv> now has better error handling when the encoding name is nonexistent,
256 and a build breakage when upgrading L<Encode> in perl-5.8.2 and earlier has
257 been fixed.
258
259 =item *
260
261 L<Hash::Util> has been upgraded from version 0.16 to 0.17.
262
263 Minor bug fixes and documentation fixes to Hash::Util::hash_stats()
264
265 =item *
266
267 The libnet collection of modules has been upgraded from version 1.25 to 1.27.
268
269 There are only whitespace changes to the installed files.
270
271 =item *
272
273 The Locale-Codes collection of modules has been upgraded from vesion 3.30 to 3.31.
274
275 Fixed a bug in the scripts used to extract data from spreadsheets that
276 prevented the SHP currency code from being found.
277 L<[cpan #94229]|https://rt.cpan.org/Ticket/Display.html?id=94229>
278
279 =item *
280
281 L<Math::BigInt> has been upgraded from version 1.9993 to 1.9994.
282
283 Synchronize POD changes from the CPAN release.
284
285 C<< Math::BigFloat->blog(x) >> would sometimes return blog(2*x) when
286 the accuracy was greater than 70 digits.
287
288 The result of C<< Math::BigFloat->bdiv() >> in list context now
289 satisfies C<< x = quotient * divisor + remainder >>.
290
291 =item *
292
293 L<Math::BigRat> has been upgraded from version 0.2606 to 0.2607.
294
295 Synchronize POD changes from the CPAN release.
296
297 =item *
298
299 L<Module::Metadata> has been upgraded from version 1.000022 to 1.000024.
300
301 Support installations on older perls with an L<ExtUtils::MakeMaker> earlier
302 than 6.63_03
303
304 =item *
305
306 L<OS2::Process> has been upgraded from version 1.09 to 1.10.
307
308 =item *
309
310 L<perl5db.pl> has been upgraded from version 1.44 to 1.45.
311
312 fork() in the debugger under C<tmux> will now create a new window for
313 the forked process. L<[perl
314 #121333]|https://rt.perl.org/Ticket/Display.html?id=121333>
315
316 The debugger now saves the current working directory on startup and
317 restores it when you restart your program with C<R> or <rerun>. L<[perl
318 #121509]|https://rt.perl.org/Ticket/Display.html?id=121509>
319
320 =item *
321
322 L<PerlIO::encoding> has been upgraded from version 0.18 to 0.19.
323
324 No changes in behaviour.
325
326 =item *
327
328 L<PerlIO::mmap> has been upgraded from version 0.012 to 0.013.
329
330 No changes in behaviour.
331
332 =item *
333
334 L<PerlIO::scalar> has been upgraded from version 0.18 to 0.19.
335
336 No changes in behaviour.
337
338 =item *
339
340 L<Unicode::Collate> has been upgraded from version 1.04 to 1.07.
341
342 Version 0.67's improved discontiguous contractions is invalidated by default
343 and is supported as a parameter 'long_contraction'.
344
345 =item *
346
347 L<Unicode::Normalize> has been upgraded from version 1.17 to 1.18.
348
349 The XSUB implementation has been removed in favour of pure Perl.
350
351 =item *
352
353 A mismatch between the documentation and the code in utf8::downgrade()
354 was fixed in favour of the documentation. The optional second argument
355 is now correctly treated as a perl boolean (true/false semantics) and
356 not as an integer.
357
358 =back
359
360 =head2 Removed Modules and Pragmata
361
362 =over 4
363
364 =item *
365
366 XXX
367
368 =back
369
370 =head1 Documentation
371
372 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
373 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
374
375 =head2 New Documentation
376
377 XXX Changes which create B<new> files in F<pod/> go here.
378
379 =head3 L<XXX>
380
381 XXX Description of the purpose of the new file here
382
383 =head2 Changes to Existing Documentation
384
385 XXX Changes which significantly change existing files in F<pod/> go here.
386 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
387 section.
388
389 =head3 L<perlfunc>
390
391 =over 4
392
393 =item *
394
395 C<-l> now notes that it will return false if symlinks aren't supported by the 
396 file system.
397
398 L<[perl #121523]|https://rt.perl.org/Ticket/Display.html?id=121523>
399
400 =item *
401
402 Note that C<exec LIST> and C<system LIST> may fall back to the shell on
403 Win32. Only C<exec PROGRAM LIST> and C<system PROGRAM LIST> indirect object
404 syntax will reliably avoid using the shell.
405
406 This has also been noted in L<perlport>.
407
408 L<[perl #122046]|https://rt.perl.org/Ticket/Display.html?id=122046>
409
410 =back
411
412 =head3 L<perlapi>
413
414 =over 4
415
416 =item *
417
418 C<sv_usepvn_flags> - Fix documentation to mention the use of C<NewX> instead of 
419 C<malloc>.
420
421 L<[perl #121869]|https://rt.perl.org/Ticket/Display.html?id=121869>
422
423 =item *
424
425 Clarify where C<NUL> may be embedded or is required to terminate a string.
426
427 =item *
428
429 Previously missing documentation due to formatting errors are now included.
430
431 =item *
432
433 Entries are now organized into groups rather than by file where they are found.
434
435 =item *
436
437 Alphabetical sorting of entries is now handled by the POD generator to make 
438 entries easier to find when scanning.
439
440 =back
441
442 =head3 L<perlhacktips>
443
444 =over 4
445
446 =item *
447
448 Updated documentation for the C<test.valgrind> C<make> target.
449
450 L<[perl #121431]|https://rt.perl.org/Ticket/Display.html?id=121431>
451
452 =back
453
454 =head3 L<perlre>
455
456 =over 4
457
458 =item *
459
460 The C</x> modifier has been clarified to note that comments cannot be continued 
461 onto the next line by escaping them.
462
463 =back
464
465 =head3 L<Unicode::UCD>
466
467 =over 4
468
469 =item *
470
471 The documentation includes many clarifications and fixes.
472
473 =back
474
475 =head1 Diagnostics
476
477 The following additions or changes have been made to diagnostic output,
478 including warnings and fatal error messages.  For the complete list of
479 diagnostic messages, see L<perldiag>.
480
481 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
482 include any changes in L<perldiag> that reconcile it to the C<C> code.
483
484 =head2 New Diagnostics
485
486 XXX Newly added diagnostic messages go under here, separated into New Errors
487 and New Warnings
488
489 =head3 New Errors
490
491 =over 4
492
493 =item *
494
495 XXX L<message|perldiag/"message">
496
497 =back
498
499 =head3 New Warnings
500
501 =over 4
502
503 =item *
504
505 L<PerlIO layer ':win32' is experimental|perldiag/"PerlIO layer ':win32' is experimental">:
506
507 (S experimental::win32_perlio) The C<:win32> PerlIO layer is
508 experimental.  If you want to take the risk of using this layer,
509 simply disable this warning:
510
511     no warnings "experimental::win32_perlio";
512
513 =back
514
515 =head2 Changes to Existing Diagnostics
516
517 XXX Changes (i.e. rewording) of diagnostic messages go here
518
519 =over 4
520
521 =item *
522
523 <> should be quotes
524
525 This warning has been changed to
526 L<< <> at require-statement should be quotes|perldiag/"<> at require-statement should be quotes" >>
527 to make the issue more identifiable.
528
529 =item *
530
531 L<Unsuccessful %s on filename containing newline|perldiag/"Unsuccessful %s on filename containing newline">
532
533 This warning is now only produced when the newline is at the end of
534 the filename.
535
536 =back
537
538 =head1 Utility Changes
539
540 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
541 Most of these are built within the directory F<utils>.
542
543 [ List utility changes as a =head2 entry for each utility and =item
544 entries for each change
545 Use L<XXX> with program names to get proper documentation linking. ]
546
547 =head2 F<x2p/>
548
549 =over 4
550
551 =item *
552
553 The F<x2p/> directory has been removed from the Perl core. 
554
555 This removes find2perl, s2p and a2p. They have all been released to CPAN as 
556 separate distributions (App::find2perl, App::s2p, App::a2p).
557
558 =back
559
560 =head1 Configuration and Compilation
561
562 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
563 go here.  Any other changes to the Perl build process should be listed here.
564 However, any platform-specific changes should be listed in the
565 L</Platform Support> section, instead.
566
567 [ List changes as a =item entry ].
568
569 =over 4
570
571 =item *
572
573 C<make test.valgrind> now supports parallel testing.
574
575 For example:
576
577     TEST_JOBS=9 make test.valgrind
578
579 See L<perlhacktips/valgrind> for more information.
580
581 L<[perl #121431]|https://rt.perl.org/Ticket/Display.html?id=121431>
582
583 =back
584
585 =head1 Testing
586
587 XXX Any significant changes to the testing of a freshly built perl should be
588 listed here.  Changes which create B<new> files in F<t/> go here as do any
589 large changes to the testing harness (e.g. when parallel testing was added).
590 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
591 that they represent may be covered elsewhere.
592
593 [ List each test improvement as a =item entry ]
594
595 =over 4
596
597 =item *
598
599 XXX
600
601 =back
602
603 =head1 Platform Support
604
605 XXX Any changes to platform support should be listed in the sections below.
606
607 [ Within the sections, list each platform as a =item entry with specific
608 changes as paragraphs below it. ]
609
610 =head2 New Platforms
611
612 XXX List any platforms that this version of perl compiles on, that previous
613 versions did not.  These will either be enabled by new files in the F<hints/>
614 directories, or new subdirectories and F<README> files at the top level of the
615 source tree.
616
617 =over 4
618
619 =item XXX-some-platform
620
621 XXX
622
623 =back
624
625 =head2 Discontinued Platforms
626
627 XXX List any platforms that this version of perl no longer compiles on.
628
629 =over 4
630
631 =item NeXTSTEP/OPENSTEP
632
633 NeXTSTEP was proprietary OS bundled with NeXT's workstations in the early
634 to mid 90's; OPENSTEP was an API specification that provided a NeXTSTEP-like 
635 environment on a non-NeXTSTEP system.  Both are now long dead, so support
636 for building Perl on them has been removed.
637
638 =back
639
640 =head2 Platform-Specific Notes
641
642 XXX List any changes for specific platforms.  This could include configuration
643 and compilation changes or changes in portability/compatibility.  However,
644 changes within modules for platforms should generally be listed in the
645 L</Modules and Pragmata> section.
646
647 =over 4
648
649 =item XXX-some-platform
650
651 XXX
652
653 =item OpenBSD
654
655 On OpenBSD, Perl will now default to using the system C<malloc> due to the
656 security features it provides. Perl's own malloc wrapper has been in use
657 since v5.14 due to performance reasons, but the OpenBSD project believes
658 the tradeoff is worth it and would prefer that users who need the speed
659 specifically ask for it.
660
661 L<[perl #122000]|https://rt.perl.org/Ticket/Display.html?id=122000>.
662
663 =back
664
665 =head1 Internal Changes
666
667 XXX Changes which affect the interface available to C<XS> code go here.  Other
668 significant internal changes for future core maintainers should be noted as
669 well.
670
671 =over 4
672
673 =item *
674
675 The deprecated variable C<PL_sv_objcount> has been removed.
676
677 =item *
678
679 Perl now tries to keep the locale category C<LC_NUMERIC> set to "C"
680 except around operations that need it to be set to the program's
681 underlying locale.  This protects the many XS modules that cannot cope
682 with the decimal radix character not being a dot.  Prior to this
683 release, Perl initialized this category to "C", but a call to
684 C<POSIX::setlocale()> would change it.  Now such a call will change the
685 underlying locale of the C<LC_NUMERIC> category for the program, but the
686 locale exposed to XS code will remain "C".  There is an API under
687 development for those relatively few modules that need to use the
688 underlying locale.  This API will be nailed down during the course of
689 developing v5.21.  Send email to L<mailto:perl5-porters@perl.org> for
690 guidance.
691
692 =back
693
694 =head1 Selected Bug Fixes
695
696 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
697 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
698
699 [ List each fix as a =item entry ]
700
701 =over 4
702
703 =item *
704
705 index() and rindex() no longer crash when used on strings over 2GB in
706 size.
707 L<[perl #121562]|https://rt.perl.org/Ticket/Display.html?id=121562>.
708
709 =item *
710
711 A small previously intentional memory leak in PERL_SYS_INIT/PERL_SYS_INIT3 on
712 Win32 builds was fixed. This might affect embedders who repeatedly create and
713 destroy perl engines within the same process.
714
715 =item *
716
717 C<POSIX::localeconv()> now returns the data for the program's underlying
718 locale even when called from outside the scope of S<C<use locale>>.
719
720 =item *
721
722 C<POSIX::localeconv()> now works properly on platforms which don't have
723 C<LC_NUMERIC> and/or C<LC_MONETARY>, or for which Perl has been compiled
724 to disregard either or both of these locale categories.  In such
725 circumstances, there are now no entries for the corresponding values in
726 the hash returned by C<localeconv()>.
727
728 =item *
729
730 C<POSIX::localeconv()> now marks appropriately the values it returns as
731 UTF-8 or not.  Previously they were always returned as a bytes, even if
732 they were supposed to be encoded as UTF-8.
733
734 =item *
735
736 On Microsoft Windows, within the scope of C<S<use locale>>, the following
737 POSIX character classes gave results for many locales that did not
738 conform to the POSIX standard:
739 C<[[:alnum:]]>,
740 C<[[:alpha:]]>,
741 C<[[:blank:]]>,
742 C<[[:digit:]]>,
743 C<[[:graph:]]>,
744 C<[[:lower:]]>,
745 C<[[:print:]]>,
746 C<[[:punct:]]>,
747 C<[[:upper:]]>,
748 C<[[:word:]]>,
749 and
750 C<[[:xdigit:]]>.
751 These are because the underlying Microsoft implementation does not
752 follow the standard.  Perl now takes special precautions to correct for
753 this.
754
755 =item *
756
757 Many issues have been detected by L<Coverity|http://www.coverity.com/> and 
758 fixed.
759
760 =back
761
762 =head1 Known Problems
763
764 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
765 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
766 platform specific bugs also go here.
767
768 [ List each fix as a =item entry ]
769
770 =over 4
771
772 =item *
773
774 XXX
775
776 =back
777
778 =head1 Errata From Previous Releases
779
780 =over 4
781
782 =item *
783
784 XXX Add anything here that we forgot to add, or were mistaken about, in
785 the perldelta of a previous release.
786
787 =back
788
789 =head1 Obituary
790
791 XXX If any significant core contributor has died, we've added a short obituary
792 here.
793
794 =head1 Acknowledgements
795
796 XXX Generate this with:
797
798   perl Porting/acknowledgements.pl v5.21.1..HEAD
799
800 =head1 Reporting Bugs
801
802 If you find what you think is a bug, you might check the articles recently
803 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
804 https://rt.perl.org/ .  There may also be information at
805 http://www.perl.org/ , the Perl Home Page.
806
807 If you believe you have an unreported bug, please run the L<perlbug> program
808 included with your release.  Be sure to trim your bug down to a tiny but
809 sufficient test case.  Your bug report, along with the output of C<perl -V>,
810 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
811
812 If the bug you are reporting has security implications, which make it
813 inappropriate to send to a publicly archived mailing list, then please send it
814 to perl5-security-report@perl.org.  This points to a closed subscription
815 unarchived mailing list, which includes all the core committers, who will be
816 able to help assess the impact of issues, figure out a resolution, and help
817 co-ordinate the release of patches to mitigate or fix the problem across all
818 platforms on which Perl is supported.  Please only use this address for
819 security issues in the Perl core, not for modules independently distributed on
820 CPAN.
821
822 =head1 SEE ALSO
823
824 The F<Changes> file for an explanation of how to view exhaustive details on
825 what changed.
826
827 The F<INSTALL> file for how to build Perl.
828
829 The F<README> file for general stuff.
830
831 The F<Artistic> and F<Copying> files for copyright information.
832
833 =cut