This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
fd9e65587d47b6d5948807c4729f8e872f00b769
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =for comment
4 Stuff that needs to be done still:
5 70502ce [perl #119101] Extraneous warnings in Parse::ErrorString::Perl
6 88b3a46 PATCH (partial) [perl #107816] Performance regression since 0abd0d78
7 eb40d2c [perl #2726] Prototype is not applied until BLOCK is defined
8 c56ed9f [perl #119043] Allow utf8 up/downgrade on ro COWs
9 8fe3c67 fix 114884 positive GPOS lookbehind regex substitution failure
10 d8fe30a Avoid read-after-free in S_scan_heredoc() if the terminator line has no "\n".
11
12 =head1 NAME
13
14 [ this is a template for a new perldelta file.  Any text flagged as XXX needs
15 to be processed before release. ]
16
17 perldelta - what is new for perl v5.19.3
18
19 =head1 DESCRIPTION
20
21 This document describes differences between the 5.19.2 release and the 5.19.3
22 release.
23
24 If you are upgrading from an earlier release such as 5.19.1, first read
25 L<perl5192delta>, which describes differences between 5.19.1 and 5.19.2.
26
27 =head1 Notice
28
29 XXX Any important notices here
30
31 =head1 Core Enhancements
32
33 XXX New core language features go here.  Summarize user-visible core language
34 enhancements.  Particularly prominent performance optimisations could go
35 here, but most should go in the L</Performance Enhancements> section.
36
37 [ List each enhancement as a =head2 entry ]
38
39 =head2 B<-F> now implies B<-a> and B<-a> implies B<-n>
40
41 Previously B<-F> without B<-a> was a no-op, and B<-a> without B<-n> or B<-p>
42 was a no-op, with this change, if you supply B<-F> then both B<-a> and B<-n>
43 are implied and if you supply B<-a> then B<-n> is implied.
44
45 You can still use B<-p> for its extra behaviour. [perl #116190]
46
47 =head1 Security
48
49 XXX Any security-related notices go here.  In particular, any security
50 vulnerabilities closed should be noted here rather than in the
51 L</Selected Bug Fixes> section.
52
53 [ List each security issue as a =head2 entry ]
54
55 =head1 Incompatible Changes
56
57 XXX For a release on a stable branch, this section aspires to be:
58
59     There are no changes intentionally incompatible with 5.XXX.XXX
60     If any exist, they are bugs, and we request that you submit a
61     report.  See L</Reporting Bugs> below.
62
63 [ List each incompatible change as a =head2 entry ]
64
65 =head1 Deprecations
66
67 XXX Any deprecated features, syntax, modules etc. should be listed here.
68
69 =head2 Module removals
70
71 XXX Remove this section if inapplicable.
72
73 The following modules will be removed from the core distribution in a
74 future release, and will at that time need to be installed from CPAN.
75 Distributions on CPAN which require these modules will need to list them as
76 prerequisites.
77
78 The core versions of these modules will now issue C<"deprecated">-category
79 warnings to alert you to this fact.  To silence these deprecation warnings,
80 install the modules in question from CPAN.
81
82 Note that these are (with rare exceptions) fine modules that you are encouraged
83 to continue to use.  Their disinclusion from core primarily hinges on their
84 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
85 not usually on concerns over their design.
86
87 =over
88
89 XXX Note that deprecated modules should be listed here even if they are listed
90 as an updated module in the L</Modules and Pragmata> section.
91
92 =back
93
94 [ List each other deprecation as a =head2 entry ]
95
96 =head1 Performance Enhancements
97
98 XXX Changes which enhance performance without changing behaviour go here.
99 There may well be none in a stable release.
100
101 [ List each enhancement as a =item entry ]
102
103 =over 4
104
105 =item *
106
107 XXX
108
109 =back
110
111 =head1 Modules and Pragmata
112
113 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
114 go here.  If Module::CoreList is updated, generate an initial draft of the
115 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
116 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
117 below.  A paragraph summary for important changes should then be added by hand.
118 In an ideal world, dual-life modules would have a F<Changes> file that could be
119 cribbed.
120
121 [ Within each section, list entries as a =item entry ]
122
123 =head2 New Modules and Pragmata
124
125 =over 4
126
127 =item *
128
129 XXX
130
131 =back
132
133 =head2 Updated Modules and Pragmata
134
135 =over 4
136
137 =item *
138
139 L<B> has been upgraded from version 1.44 to 1.45.
140
141 Calling the C<GV> method on C<B::CV> objects created from a lexical sub would
142 return nonsense, possibly crashing perl.  C<GV> now returns C<undef> for
143 lexical subs. [perl #118525]
144
145 Added the C<NAME_HEK> method to return the name of a lexical sub.
146
147 =item *
148
149 L<bignum> has been upgraded from version 0.35 to 0.36.
150
151 L<bigrat> wasn't correctly updating an internal variable when C<use>d with a
152 C<lib> option.
153
154 =item *
155
156 L<Carp> has been upgraded from 1.30 to 1.31
157
158 L<Carp> now handles objects with string overloads.  It also allows objects to
159 specify how they appear in the stack dump with a C<CARP_TRACE> method, and also
160 allows the user to specify their own formatter for objects without
161 C<CARP_TRACE> as well as other references. [perl #92446]
162
163 =item *
164
165 L<Compress::Raw::Bzip2> has been upgraded from 2.061 to 2.062.
166
167 XXX: TODO
168
169 =item *
170
171 L<Compress::Raw::Zlib> has been upgraded from 2.061 to 2.062.
172
173 XXX: TODO
174
175 =item *
176
177 L<Config::Perl::V> has been upgraded from version 0.18 to 0.19.
178
179 XXX: TODO
180
181 =item *
182
183 L<constant> has been upgraded from version 1.27 to 1.28.
184
185 Note that list constants will be inlined and may be read-only in future Perl
186 versions.
187
188 =item *
189
190 L<CPAN::Meta> has been upgraded from version 2.131560 to 2.132140.
191
192 Some documentation typos have been fixed.
193
194 =item *
195
196 L<Data::Dumper> has been upgraded from version 2.147 to 2.148.
197
198 The compatbility of the XS implementation with the pure perl version under
199 C<Useqq> has been improved. [perl #118933]
200
201 =item *
202
203 L<DB> has been upgraded from 1.41 to 1.42.
204
205 The Perl debugger no longer crashes with C<PERLDB_OPTS="noTTY frame=2">.
206
207 =item *
208
209 L<Devel::Peek> has been upgraded from version 1.12 to 1.13.
210
211 C<SvREFCNT_inc> and C<SvREFCNT_dec> have been removed and C<SvREFCNT> will now
212 work on non-scalars. [perl #117793]
213
214 C<Dump> now checks its arguments at compile time.  Both arguments are now
215 evaluated in scalar context, with exceptions for @arrays and %hashes, allowing
216 aggregates to be dumped directly.  The first argument is evaluated in rvalue
217 scalar context, allowing rvalue C<pos> and C<substr> to be dumped.
218
219 C<fill_mstats> no longer crashes if its argument is not already a string.
220 [perl #92260]
221
222 =item *
223
224 L<diagnostics> has been upgraded from version 1.31 to 1.32.
225
226 Wrapped links are no longer truncated.
227
228 =item *
229
230 L<DynaLoader> has been upgraded from version 1.18 to 1.19.
231
232 The $dl_dlext variable is now documented.
233
234 =item *
235
236 L<Encode> has been upgraded from version 2.51 to 2.52.
237
238 Encoding "0" with MIME-Headers no longer gets a blank string.
239
240 =item *
241
242 L<English> has been upgraded from version 1.07 to 1.08.
243
244 The documentation of a performance fix has been corrected.
245
246 =item *
247
248 L<Exporter> has been upgraded from version 5.68 to 5.69.
249
250 L<Exporter> would ignore custom $SIG{__WARN__} handlers in C<Exporter::Heavy>.
251 [perl #39739]
252
253 =item *
254
255 L<File::Spec> has been upgraded from 3.41 to 3.44.
256
257 The module is now partly implemented in XS, for performance.
258
259 =item *
260
261 L<ExtUtils::MakeMaker> has been upgraded from 6.68 to 6.72.
262
263 The C<dist> target now reports the file created, an infinite loop in
264 C<clean_subdirs> has been fixed, an invisible interactive question is now
265 avoided when rebuilding Makefile, issues with F</cygdrive> on Cygwin have been
266 resolved, C<LD> and C<OPTIMIZE> are now used in recursive F<Makefile.PL>
267 invocations, C<VERSION> and C<VERSION_FROM> now handle v-strings correctly, and
268 control characters are now stripped from C<ABSTRACT>.
269
270 =item *
271
272 L<ExtUtils::ParseXS> has been upgraded from version 3.18 to 3.21.
273
274 XXX: TODO
275
276 =item *
277
278 L<Getopt::Std> has been upgraded from version 1.09 to 1.10.
279
280 Clarified documentation of what happens when a switch is expecting an argument
281 but fails to be provided with one.
282
283 =item *
284
285 The IO-Compress module collection has been upgraded from 2.061 to 2.062.
286
287 XXX: TODO
288
289 =item *
290
291 L<IPC::Cmd> has been upgraded from version 0.82 to 0.84.
292
293 C<run_forked> has various fixes/improvements, L<Socket> is only used where
294 needed and a regression introduced in 0.78 has been fixed.
295
296 =item *
297
298 L<IPC::Open3> has been upgradded from version 1.14 to 1.15.
299
300 C<open3> would leak a zombie process if the child process I/O redirection or
301 C<exec> failed. [perl #114722]
302
303 =item *
304
305 L<IPC::SysV> has been upgraded from version 2.03 to 2.04.
306
307 $EXPORT_TAGS{all} has been added and a couple of typos have been fixed.
308
309 =item *
310
311 The libnet module collection has been upgraded from version 1.22 to 1.23.
312
313 XXX: TODO
314
315 =item *
316
317 L<List::Util> has been upgraded from version 1.27 to 1.31.
318
319 L<List::Util> now includes C<pairgrep>, C<pairmap>, C<pairs>, C<pairkeys>,
320 C<pairvalues> and C<pairfirst> functions that operate on even-sized lists of
321 pairs.
322
323 =item *
324
325 L<Module::Build> has been upgraded from 0.4005 to 0.4007.
326
327 The test suite has been significantly sped up, Unicode man page support has
328 been enhanced and hash argument parsing in subclasses has been fixed.
329
330 =item *
331
332 L<Module::CoreList> has been upgraded from 2.92 to 2.97.
333
334 XXX: TODO
335
336 =item *
337
338 L<mro> has been upgraded from version 1.12 to 1.13.
339
340 A minor typo has been fixed in the documentation.
341
342 =item *
343
344 L<parent> has been upgraded from version 0.225 to 0.226.
345
346 XXX: TODO
347
348 =item *
349
350 L<PerlIO> has been upgraded from version 1.07 to 1.08.
351
352 Although not a security vulnerability, it was possible to inject code via
353 C<PerlIO-E<gt>import()>.  This has now been fixed. [perl #119287]
354
355 =item *
356
357 L<Pod::Functions> has been upgraded from version 1.07 to 1.08.
358
359 Internal changes only have been made to the test suite.
360
361 =item *
362
363 L<Socket> has been upgraded from version 2.010 to 2.011.
364
365 Handle FreeBSD (or other platforms) returning shorter AF_UNIX sockaddr
366 structures due to embedded sun_len. [cpan #86613]
367
368 =item *
369
370 L<Storable> has been upgraded from version 2.45 to 2.46.
371
372 Avoid creating temporary objects for STORABLE_attach when they aren't required.
373 [perl #118907]
374
375 =item *
376
377 L<Time::HiRes> has been upgraded from version 1.9725 to 1.9726.
378
379 Now provides an C<lstat> function.
380 Various bugs fixed.
381
382 =item *
383
384 L<Time::Piece> has been upgraded from version 1.21 to 1.22.
385
386 XXX: TODO
387
388 =item *
389
390 L<utf8> has been upgraded from version 1.12 to 1.13.
391
392 A minor clarification has been made in the documentation.
393
394 =back
395
396 =head2 Removed Modules and Pragmata
397
398 =over 4
399
400 =item *
401
402 XXX
403
404 =back
405
406 =head1 Documentation
407
408 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
409 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
410
411 =head2 New Documentation
412
413 XXX Changes which create B<new> files in F<pod/> go here.
414
415 =head3 L<XXX>
416
417 XXX Description of the purpose of the new file here
418
419 =head2 Changes to Existing Documentation
420
421 XXX Changes which significantly change existing files in F<pod/> go here.
422 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
423 section.
424
425 =head3 L<perlopentut>
426
427 =over 4
428
429 =item *
430
431 The C<open> tutorial has been completely rewriten by Tom Christiansen, and now
432 focuses on covering only the basics, rather than providing a comprehensive
433 reference to all things openable.  This rewrite came as the result of a
434 vigorous discussion on perl5-porters kicked off by a set of improvements
435 written by Alexander Hartmaier to the existing L<perlopentut>.  A "more than
436 you ever wanted to know about C<open>" document may follow in subsequent
437 versions of perl.
438
439 =back
440
441 =head3 L<perlre>
442
443 =over 4
444
445 =item *
446
447 The C</r> modifier (for non-destructive substitution) is now documented. [perl
448 #119151]
449
450 =back
451
452 =head3 L<perlxs>
453
454 =over 4
455
456 =item *
457
458 Several problems in the C<MY_CXT> example have been fixed.
459
460 =back
461
462 =head1 Diagnostics
463
464 The following additions or changes have been made to diagnostic output,
465 including warnings and fatal error messages.  For the complete list of
466 diagnostic messages, see L<perldiag>.
467
468 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
469 include any changes in L<perldiag> that reconcile it to the C<C> code.
470
471 =head2 New Diagnostics
472
473 XXX Newly added diagnostic messages go under here, separated into New Errors
474 and New Warnings
475
476 =head3 New Errors
477
478 =over 4
479
480 =item *
481
482 XXX L<message|perldiag/"message">
483
484 =back
485
486 =head3 New Warnings
487
488 =over 4
489
490 =item *
491
492 L<Argument "%s" treated as 0 in increment (++)|perldiag/"Argument "%s" treated
493 as 0 in increment (++)">
494
495 (W numeric) The indicated string was fed as an argument to the C<++> operator
496 which expects either a number or a string matching C</^[a-zA-Z]*[0-9]*\z/>.
497 See L<perlop/Auto-increment and Auto-decrement> for details.
498
499 =back
500
501 =head2 Changes to Existing Diagnostics
502
503 XXX Changes (i.e. rewording) of diagnostic messages go here
504
505 =over 4
506
507 =item *
508
509 XXX Describe change here
510
511 =back
512
513 =head1 Utility Changes
514
515 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
516 Most of these are built within the directories F<utils> and F<x2p>.
517
518 [ List utility changes as a =head3 entry for each utility and =item
519 entries for each change
520 Use L<XXX> with program names to get proper documentation linking. ]
521
522 =head3 L<XXX>
523
524 =over 4
525
526 =item *
527
528 XXX
529
530 =back
531
532 =head1 Configuration and Compilation
533
534 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
535 go here.  Any other changes to the Perl build process should be listed here.
536 However, any platform-specific changes should be listed in the
537 L</Platform Support> section, instead.
538
539 [ List changes as a =item entry ].
540
541 =over 4
542
543 =item *
544
545 XXX
546
547 =back
548
549 =head1 Testing
550
551 XXX Any significant changes to the testing of a freshly built perl should be
552 listed here.  Changes which create B<new> files in F<t/> go here as do any
553 large changes to the testing harness (e.g. when parallel testing was added).
554 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
555 that they represent may be covered elsewhere.
556
557 [ List each test improvement as a =item entry ]
558
559 =over 4
560
561 =item *
562
563 XXX
564
565 =back
566
567 =head1 Platform Support
568
569 XXX Any changes to platform support should be listed in the sections below.
570
571 [ Within the sections, list each platform as a =item entry with specific
572 changes as paragraphs below it. ]
573
574 =head2 New Platforms
575
576 XXX List any platforms that this version of perl compiles on, that previous
577 versions did not.  These will either be enabled by new files in the F<hints/>
578 directories, or new subdirectories and F<README> files at the top level of the
579 source tree.
580
581 =over 4
582
583 =item XXX-some-platform
584
585 XXX
586
587 =back
588
589 =head2 Discontinued Platforms
590
591 XXX List any platforms that this version of perl no longer compiles on.
592
593 =over 4
594
595 =item XXX-some-platform
596
597 XXX
598
599 =back
600
601 =head2 Platform-Specific Notes
602
603 XXX List any changes for specific platforms.  This could include configuration
604 and compilation changes or changes in portability/compatibility.  However,
605 changes within modules for platforms should generally be listed in the
606 L</Modules and Pragmata> section.
607
608 =over 4
609
610 =item XXX-some-platform
611
612 XXX
613
614 =back
615
616 =head1 Internal Changes
617
618 XXX Changes which affect the interface available to C<XS> code go here.  Other
619 significant internal changes for future core maintainers should be noted as
620 well.
621
622 [ List each change as a =item entry ]
623
624 =over 4
625
626 =item *
627
628 C<sv_pos_b2u_flags> has been added to the API.  It is similar to C<sv_pos_b2u>,
629 but supports long strings on 64-bit platforms.
630
631 =item *
632
633 C<PL_exit_flags> can now be used by perl embedders or other XS code to have
634 perl C<warn> or C<abort> on an attempted exit. [perl #52000]
635
636 =back
637
638 =head1 Selected Bug Fixes
639
640 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
641 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
642
643 [ List each fix as a =item entry ]
644
645 =over 4
646
647 =item *
648
649 Autovivifying a subroutine stub via C<\&$glob> started causing crashes in Perl
650 5.18.0 if the $glob was merely a copy of a real glob, i.e., a scalar that had
651 had a glob assigned to it.  This has been fixed. [perl #119051]
652
653 =item *
654
655 On 64-bit platforms C<pos> can now be set to a value higher than 2**31-1.
656 [perl #72766]
657
658 =item *
659
660 Perl used to leak an implementation detail when it came to referencing the
661 return values of certain operators.  C<for ($a+$b) { warn \$_; warn \$_ }> used
662 to display two different memory addresses, because the C<\> operator was
663 copying the variable.  Under threaded builds, it would also happen for
664 constants (C<for(1) { ... }>).  This has been fixed. [perl #21979, #78194,
665 #89188, #109746, #114838, #115388]
666
667 =item *
668
669 The range operator C<..> was returning the same modifiable scalars with each
670 call, unless it was the only thing in a C<foreach> loop header.  This meant
671 that changes to values within the list returned would be visible the next time
672 the operator was executed. [perl #3105]
673
674 =item *
675
676 Constant folding and subroutine inlining no longer cause operations that would
677 normally return new modifiable scalars to return read-only values instead.
678
679 =item *
680
681 Closures of the form C<sub () { $some_variable }> are no longer inlined,
682 causing changes to the variable to be ignored by callers of the subroutine.
683 [perl #79908]
684
685 =item *
686
687 Return values of certain operators such as C<ref> would sometimes be shared
688 between recursive calls to the same subroutine, causing the inner call to
689 modify the value returned by C<ref> in the outer call.  This has been fixed.
690
691 =item *
692
693 C<__PACKAGE__> and constants returning a package name or hash key are now
694 consistently read-only.  In various previous Perl releases, they have become
695 mutable under certain circumstances.
696
697 =item *
698
699 C</$qr/p> was broken in Perl 5.18.0; the C</p> flag was ignored.  This has been
700 fixed. [perl #118213]
701
702 =item *
703
704 Starting in v5.18.0, a construct like C</[#](?{})/x> would have its C<#>
705 incorrectly interpreted as a comment.  The code block would be skipped,
706 unparsed.  This has been corrected.
707
708 =item *
709
710 Starting in Perl 5.001, a regular expression like C</[#$a]/x> or C</[#]$a/x>
711 would have its C<#> incorrectly interpreted as a comment, so the variable would
712 not interpolate.  This has been corrected. [perl #45667]
713
714 =item *
715
716 On non-threaded builds, setting C<${"_<filename"}> to a reference or typeglob
717 no longer causes C<__FILE__> and some error messages to produce a corrupt
718 string, and no longer prevents C<#line> directives in string evals from
719 providing the source lines to the debugger.  Threaded builds were unaffected.
720
721 =item *
722
723 Enabling "used once" warnings no longer causes crashes on stash circularities
724 created at compile time (C<*Foo::Bar::Foo:: = *Foo::>).
725
726 =item *
727
728 Undef constants used in hash keys (C<use constant u => undef; $h{+u}>) no
729 longer produce "uninitialized" warnings at compile time.
730
731 =item *
732
733 Modifying a substitution target inside the substitution replacement no longer
734 causes crashes.
735
736 =item *
737
738 The first statement inside a string eval used to use the wrong pragma setting
739 sometimes during constant folding.  C<eval 'uc chr 0xe0'> would randomly choose
740 between Unicode, byte, and locale semantics.  This has been fixed.
741
742 =item *
743
744 The handling of return values of @INC filters (subroutines returned by
745 subroutines in @INC) has been fixed in various ways.  Previously tied variables
746 were mishandled, and setting $_ to a reference or typeglob could result in
747 crashes.
748
749 =item *
750
751 The C<SvPVbyte> XS function has been fixed to work with tied scalars returning
752 something other than a string.  It used to return utf8 in those cases where
753 C<SvPV> would.
754
755 =item *
756
757 Perl 5.18.0 inadvertently made dereferenced regular expressions
758 S<(C<${ qr// }>)> false as booleans.  This has been fixed.
759
760 =item *
761
762 Perl 5.18.0 inadvertently made C<--> and C<++> crash on dereferenced regular
763 expressions, and stopped C<++> from flattening vstrings.
764
765 =item *
766
767 C<bless> no longer dies with "Can't bless non-reference value" if its first
768 argument is a tied reference.
769
770 =item *
771
772 C<reset> with an argument no longer skips copy-on-write scalars, regular
773 expressions, typeglob copies, and vstrings.  Also, when encountering those or
774 read-only values, it no longer skips any array or hash with the same name.
775
776 =item *
777
778 C<reset> with an argument now skips scalars aliased to typeglobs
779 (C<for $z (*foo) { reset "z" }>).  Previously it would corrupt memory or crash.
780
781 =item *
782
783 C<ucfirst> and C<lcfirst> were not respecting the bytes pragma.  This was a
784 regression from v5.12. [perl #117355]
785
786 =item *
787
788 The use of C<\G> in regular expressions, where it's not at the start of the
789 pattern, is now slightly less buggy (although it is still somewhat
790 problematic).
791
792 =item *
793
794 Where a regular expression included code blocks (C</(?{...})/>), and where the
795 use of constant overloading triggered a re-compilation of the code block, the
796 second compilation didn't see its outer lexical scope.  This was a regression
797 in 5.18.0.
798
799 =back
800
801 =head1 Known Problems
802
803 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
804 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
805 platform specific bugs also go here.
806
807 [ List each fix as a =item entry ]
808
809 =over 4
810
811 =item *
812
813 XXX
814
815 =back
816
817 =head1 Obituary
818
819 XXX If any significant core contributor has died, we've added a short obituary
820 here.
821
822 =head1 Acknowledgements
823
824 XXX Generate this with:
825
826   perl Porting/acknowledgements.pl v5.19.2..HEAD
827
828 =head1 Reporting Bugs
829
830 If you find what you think is a bug, you might check the articles recently
831 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
832 http://rt.perl.org/perlbug/ .  There may also be information at
833 http://www.perl.org/ , the Perl Home Page.
834
835 If you believe you have an unreported bug, please run the L<perlbug> program
836 included with your release.  Be sure to trim your bug down to a tiny but
837 sufficient test case.  Your bug report, along with the output of C<perl -V>,
838 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
839
840 If the bug you are reporting has security implications, which make it
841 inappropriate to send to a publicly archived mailing list, then please send it
842 to perl5-security-report@perl.org.  This points to a closed subscription
843 unarchived mailing list, which includes all the core committers, who will be
844 able to help assess the impact of issues, figure out a resolution, and help
845 co-ordinate the release of patches to mitigate or fix the problem across all
846 platforms on which Perl is supported.  Please only use this address for
847 security issues in the Perl core, not for modules independently distributed on
848 CPAN.
849
850 =head1 SEE ALSO
851
852 The F<Changes> file for an explanation of how to view exhaustive details on
853 what changed.
854
855 The F<INSTALL> file for how to build Perl.
856
857 The F<README> file for general stuff.
858
859 The F<Artistic> and F<Copying> files for copyright information.
860
861 =cut