Mention more C99 math interfaces.
[perl.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.4
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.21.3 release and the 5.21.4
13 release.
14
15 If you are upgrading from an earlier release such as 5.21.2, first read
16 L<perl5213delta>, which describes differences between 5.21.2 and 5.21.3.
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 Infinity and NaN (not-a-number) handling improved
31
32 Floating point values are able to hold the special values infinity
33 (also -infinity), and NaN (not-a-number).  Now we more robustly recognize
34 and propagate the value in computations, and on output normalize them
35 to C<Inf> and C<NaN>.
36
37 See also the L<POSIX> enhancements.
38
39 =head1 Security
40
41 XXX Any security-related notices go here.  In particular, any security
42 vulnerabilities closed should be noted here rather than in the
43 L</Selected Bug Fixes> section.
44
45 [ List each security issue as a =head2 entry ]
46
47 =head1 Incompatible Changes
48
49 XXX For a release on a stable branch, this section aspires to be:
50
51     There are no changes intentionally incompatible with 5.XXX.XXX
52     If any exist, they are bugs, and we request that you submit a
53     report.  See L</Reporting Bugs> below.
54
55 [ List each incompatible change as a =head2 entry ]
56
57 =head2 Changes to the C<*> prototype
58
59 The C<*> character in a subroutine's prototype used to allow barewords
60 to take precedence over most, but not all subroutines.  It was never
61 consistent and exhibited buggy behaviour.
62
63 Now it has been changed, so subroutines always take precedence over
64 barewords, which brings it into conformity with similarly prototyped
65 built-in functions:
66
67     sub splat($) { ... }
68     sub foo { ... }
69     splat(foo); # now always splat(foo())
70     splat(bar); # still splat('bar') as before
71     close(foo); # close(foo())
72     close(bar); # close('bar')
73
74 =head1 Deprecations
75
76 XXX Any deprecated features, syntax, modules etc. should be listed here.
77
78 =head2 Module removals
79
80 XXX Remove this section if inapplicable.
81
82 The following modules will be removed from the core distribution in a
83 future release, and will at that time need to be installed from CPAN.
84 Distributions on CPAN which require these modules will need to list them as
85 prerequisites.
86
87 The core versions of these modules will now issue C<"deprecated">-category
88 warnings to alert you to this fact.  To silence these deprecation warnings,
89 install the modules in question from CPAN.
90
91 Note that these are (with rare exceptions) fine modules that you are encouraged
92 to continue to use.  Their disinclusion from core primarily hinges on their
93 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
94 not usually on concerns over their design.
95
96 =over
97
98 =item XXX
99
100 XXX Note that deprecated modules should be listed here even if they are listed
101 as an updated module in the L</Modules and Pragmata> section.
102
103 =back
104
105 [ List each other deprecation as a =head2 entry ]
106
107 =head1 Performance Enhancements
108
109 XXX Changes which enhance performance without changing behaviour go here.
110 There may well be none in a stable release.
111
112 [ List each enhancement as a =item entry ]
113
114 =over 4
115
116 =item *
117
118 Subroutines with an empty prototype and bodies containing just C<undef> are
119 now eligible for inlining.
120 L<[perl #122728]|https://rt.perl.org/Ticket/Display.html?id=122728>
121
122 =item *
123
124 Subroutines in packages no longer need to carry typeglobs around with them.
125 Declaring a subroutine will now put a simple sub reference in the stash if
126 possible, saving memory.  The typeglobs still notionally exist, so
127 accessing them will cause the subroutine reference to be upgraded to a
128 typeglob.  This optimisation does not currently apply to XSUBs or exported
129 subroutines, and method calls will undo it, since they cache things in
130 typeglobs.
131 L<[perl #120441]|https://rt.perl.org/Ticket/Display.html?id=120441>
132
133 =back
134
135 =head1 Modules and Pragmata
136
137 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
138 go here.  If Module::CoreList is updated, generate an initial draft of the
139 following sections using F<Porting/corelist-perldelta.pl>.  A paragraph summary
140 for important changes should then be added by hand.  In an ideal world,
141 dual-life modules would have a F<Changes> file that could be cribbed.
142
143 [ Within each section, list entries as a =item entry ]
144
145 =head2 New Modules and Pragmata
146
147 =over 4
148
149 =item *
150
151 L<B::Op_private> provides detailed information about the flags used in
152 the C<op_private> field of perl opcodes.
153
154 =back
155
156 =head2 Updated Modules and Pragmata
157
158 =over 4
159
160 =item *
161
162 L<Archive::Tar> has been upgraded from version 2.00 to 2.02.
163
164 Tests can now be run in parallel.
165
166 =item *
167
168 L<Attribute::Handlers> has been upgraded from version 0.96 to 0.97.
169
170 =item *
171
172 L<attributes> has been upgraded from version 0.22 to 0.23.
173
174 =item *
175
176 L<B> has been upgraded from version 1.50 to 1.51.
177
178 It provides a new C<B::safename> function, based on the existing
179 C<< B::GV->SAFENAME >>, that converts "\cOPEN" to "^OPEN".
180
181 =item *
182
183 L<B::Concise> has been upgraded from version 0.992 to 0.993.
184
185 =item *
186
187 L<B::Deparse> has been upgraded from version 1.27 to 1.28.
188
189 It now deparses C<our(I<LIST>)> and typed lexical (C<my Dog $spot>) correctly.
190
191 =item *
192
193 L<bignum> has been upgraded from version 0.37 to 0.38.
194
195 =item *
196
197 L<constant> has been upgraded from version 1.31 to 1.32.
198
199 It now accepts fully-qualified constant names, allowing constants to be defined
200 in packages other than the caller.
201
202 =item *
203
204 L<CPAN::Meta::Requirements> has been upgraded from version 2.126 to 2.128.
205
206 =item *
207
208 L<Data::Dumper> has been upgraded from version 2.152 to 2.154.
209
210 =item *
211
212 L<experimental> has been upgraded from version 0.008 to 0.010.
213
214 =item *
215
216 L<ExtUtils::CBuilder> has been upgraded from version 0.280217 to 0.280219.
217 L<[perl #122675]|https://rt.perl.org/Ticket/Display.html?id=122675>
218
219 =item *
220
221 L<ExtUtils::Install> has been upgraded from version 1.68 to 2.04.
222
223 =item *
224
225 L<ExtUtils::Manifest> has been upgraded from version 1.65 to 1.68.
226 L<[perl #122415]|https://rt.perl.org/Ticket/Display.html?id=122415>
227
228 =item *
229
230 L<File::Find> has been upgraded from version 1.27 to 1.28.
231
232 C<find()> and C<finddepth()> will now warn if passed inappropriate or
233 misspelled options.
234
235 =item *
236
237 L<Getopt::Std> has been upgraded from version 1.10 to 1.11.
238
239 =item *
240
241 L<HTTP::Tiny> has been upgraded from version 0.047 to 0.049.
242
243 =item *
244
245 L<IO> has been upgraded from version 1.33 to 1.34.
246
247 =item *
248
249 L<IO::Socket::IP> has been upgraded from version 0.31 to 0.32.
250
251 =item *
252
253 L<Locale::Codes> has been upgraded from version 3.31 to 3.32.
254
255 =item *
256
257 L<Math::BigInt> has been upgraded from version 1.9996 to 1.9997.
258
259 =item *
260
261 L<Module::CoreList> has been upgraded from version 5.021003 to 5.20140915.
262
263 =item *
264
265 L<overload> has been upgraded from version 1.22 to 1.23.
266
267 =item *
268
269 PathTools has been upgraded from version 3.49 to 3.50.
270
271 =item *
272
273 L<Pod::Perldoc> has been upgraded from version 3.23 to 3.24.
274
275 =item *
276
277 L<POSIX> has been upgraded from version 1.42 to 1.43.
278
279 The C99 math functions and constants (for example acosh, isinf, isnan,
280 round, trunc; M_E, M_SQRT2, M_PI) have been added.
281
282 =item *
283
284 Scalar-List-Utils has been upgraded from version 1.39 to 1.41.
285
286 =item *
287
288 L<Term::ReadLine> has been upgraded from version 1.14 to 1.15.
289
290 =item *
291
292 L<Test::Harness> has been upgraded from version 3.32 to 3.33.
293
294 =item *
295
296 L<Test::Simple> has been upgraded from version 1.001003 to 1.001006.
297
298 =item *
299
300 L<threads> has been upgraded from version 1.95 to 1.96.
301
302 =item *
303
304 L<Time::Piece> has been upgraded from version 1.27 to 1.29.
305
306 =item *
307
308 L<version> has been upgraded from version 0.9908 to 0.9909.
309
310 =back
311
312 =head2 Removed Modules and Pragmata
313
314 =over 4
315
316 =item *
317
318 XXX
319
320 =back
321
322 =head1 Documentation
323
324 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
325 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
326
327 =head2 New Documentation
328
329 XXX Changes which create B<new> files in F<pod/> go here.
330
331 =head3 L<XXX>
332
333 XXX Description of the purpose of the new file here
334
335 =head2 Changes to Existing Documentation
336
337 XXX Changes which significantly change existing files in F<pod/> go here.
338 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
339 section.
340
341 =head3 L<perlsyn>
342
343 =over 4
344
345 =item *
346
347 An ambiguity in the documentation of the Ellipsis statement has
348 been corrected.
349 L<[perl #122661]|https://rt.perl.org/Ticket/Display.html?id=122661>
350
351 =back
352
353 =head3 L<perlxs>
354
355 =over 4
356
357 =item *
358
359 Added a discussion of locale issues in XS code.
360
361 =back
362
363 =head1 Diagnostics
364
365 The following additions or changes have been made to diagnostic output,
366 including warnings and fatal error messages.  For the complete list of
367 diagnostic messages, see L<perldiag>.
368
369 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
370 include any changes in L<perldiag> that reconcile it to the C<C> code.
371
372 =head2 New Diagnostics
373
374 XXX Newly added diagnostic messages go under here, separated into New Errors
375 and New Warnings
376
377 =head3 New Errors
378
379 =over 4
380
381 =item *
382
383 XXX L<message|perldiag/"message">
384
385 =back
386
387 =head3 New Warnings
388
389 =over 4
390
391 =item *
392
393 XXX L<message|perldiag/"message">
394
395 =back
396
397 =head2 Changes to Existing Diagnostics
398
399 XXX Changes (i.e. rewording) of diagnostic messages go here
400
401 =over 4
402
403 =item *
404
405 L<Global symbol "%s" requires explicit package name|perldiag/Global symbol "%s" requires explicit package name (did you forget to declare "my %s"?)>
406
407 This message has had '(did you forget to declare "my %s"?)' appended to it,
408 to make it more helpful to new Perl programmers.
409 L<[perl #121638]|https://rt.perl.org/Ticket/Display.html?id=121638>
410
411 =back
412
413 =head2 Diagnostic Removals
414
415 =over 4
416
417 =item *
418
419 "Constant is not a FOO reference"
420
421 Compile-time checking of constant dereferencing (e.g.,
422 C<< my_constant->() >>) has been removed, since it was not taking
423 overloading into account.
424 L<[perl #69456]|https://rt.perl.org/Ticket/Display.html?id=69456>
425 L<[perl #122607]|https://rt.perl.org/Ticket/Display.html?id=122607>
426
427 =item *
428
429 The warning "Ambiguous use of -foo resolved as -&foo()" has been removed.
430 There is actually no ambiguity here, and this impedes the use of negated
431 constants; e.g., C<-Inf>.
432
433 =item *
434
435 The little-known C<my Class $var> syntax (see L<fields> and L<attributes>)
436 could get confused in the scope of C<use utf8> if C<Class> were a constant
437 whose value contained Latin-1 characters.
438
439 =back
440
441 =head1 Utility Changes
442
443 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
444 Most of these are built within the directory F<utils>.
445
446 [ List utility changes as a =head2 entry for each utility and =item
447 entries for each change
448 Use L<XXX> with program names to get proper documentation linking. ]
449
450 =head2 L<XXX>
451
452 =over 4
453
454 =item *
455
456 XXX
457
458 =back
459
460 =head1 Configuration and Compilation
461
462 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
463 go here.  Any other changes to the Perl build process should be listed here.
464 However, any platform-specific changes should be listed in the
465 L</Platform Support> section, instead.
466
467 [ List changes as a =item entry ].
468
469 =over 4
470
471 =item *
472
473 XXX
474
475 =back
476
477 =head1 Testing
478
479 XXX Any significant changes to the testing of a freshly built perl should be
480 listed here.  Changes which create B<new> files in F<t/> go here as do any
481 large changes to the testing harness (e.g. when parallel testing was added).
482 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
483 that they represent may be covered elsewhere.
484
485 [ List each test improvement as a =item entry ]
486
487 =over 4
488
489 =item *
490
491 XXX
492
493 =back
494
495 =head1 Platform Support
496
497 XXX Any changes to platform support should be listed in the sections below.
498
499 [ Within the sections, list each platform as a =item entry with specific
500 changes as paragraphs below it. ]
501
502 =head2 New Platforms
503
504 XXX List any platforms that this version of perl compiles on, that previous
505 versions did not.  These will either be enabled by new files in the F<hints/>
506 directories, or new subdirectories and F<README> files at the top level of the
507 source tree.
508
509 =over 4
510
511 =item XXX-some-platform
512
513 XXX
514
515 =back
516
517 =head2 Discontinued Platforms
518
519 XXX List any platforms that this version of perl no longer compiles on.
520
521 =over 4
522
523 =item XXX-some-platform
524
525 XXX
526
527 =back
528
529 =head2 Platform-Specific Notes
530
531 XXX List any changes for specific platforms.  This could include configuration
532 and compilation changes or changes in portability/compatibility.  However,
533 changes within modules for platforms should generally be listed in the
534 L</Modules and Pragmata> section.
535
536 =over 4
537
538 =item XXX-some-platform
539
540 XXX
541
542 =back
543
544 =head1 Internal Changes
545
546 XXX Changes which affect the interface available to C<XS> code go here.  Other
547 significant internal changes for future core maintainers should be noted as
548 well.
549
550 [ List each change as a =item entry ]
551
552 =over 4
553
554 =item *
555
556 C<save_re_context> no longer does anything and has been moved to
557 F<mathoms.c>.
558
559 =item *
560
561 C<cv_name> is a new API function that can be passed a CV or GV.  It returns
562 an SV containing the name of the subroutine for use in diagnostics.
563 L<[perl #116735]|https://rt.perl.org/Ticket/Display.html?id=116735>
564 L<[perl #120441]|https://rt.perl.org/Ticket/Display.html?id=120441>
565
566 =item *
567
568 C<cv_set_call_checker_flags> is a new API function that works like
569 C<cv_set_call_checker>, except that it allows the caller to specify whether
570 the call checker requires a full GV for reporting the subroutine's name, or
571 whether it could be passed a CV instead.  Whatever value is passed will be
572 acceptable to C<cv_name>.  C<cv_set_call_checker> guarantees there will be
573 a GV, but it may have to create one on the fly, which is inefficient.
574 L<[perl #116735]|https://rt.perl.org/Ticket/Display.html?id=116735>
575
576 =item *
577
578 C<CvGV> (which is not part of the API) is now a more complex macro, which
579 may call a function and reify a GV.  For those cases where is has been used
580 as a boolean, C<CvHASGV> has been added, which will return true for CVs
581 that notionally have GVs, but without reifying the GV.  C<CvGV> also
582 returns a GV now for lexical subs.
583 L<[perl #120441]|https://rt.perl.org/Ticket/Display.html?id=120441>
584
585 =item *
586
587 Added L<perlapi/sync_locale>.
588 Changing the program's locale should be avoided by XS code.  Nevertheless,
589 certain non-Perl libraries called from XS, such as C<Gtk> do so.  When this
590 happens, Perl needs to be told that the locale has changed.  Use this function
591 to do so, before returning to Perl.
592
593 =item *
594
595 The defines and labels for the flags in the C<op_private> field of OPs
596 are now auto-generated from data in F<regen/op_private>. The noticeable
597 affect of this is that some of the flag output of C<Concise> might differ
598 slightly, and the flag output of C<perl -Dx> may differ considerably (they
599 both use the same set of labels now). Also in debugging builds, there
600 is a new assert in C<op_free()> that checks that the op doesn't have any
601 unrecognised flags set in C<op_private>.
602
603
604 =back
605
606 =head1 Selected Bug Fixes
607
608 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
609 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
610
611 [ List each fix as a =item entry ]
612
613 =over 4
614
615 =item *
616
617 XXX
618
619 =item *
620
621 Constant dereferencing now works correctly for typeglob constants.
622 Previously the glob was stringified and its name looked up.  Now the glob
623 itself is used.
624 L<[perl #69456]|https://rt.perl.org/Ticket/Display.html?id=69456>
625
626 =item *
627
628 When parsing a funny character ($ @ % &) followed by braces, the parser no
629 longer tries to guess whether it is a block or a hash constructor (causing
630 a syntax error when it guesses the latter), since it can only be a block.
631
632 =item *
633
634 C<undef $reference> now frees the referent immediately, instead of hanging
635 on to it until the next statement.
636 L<[perl #122556]|https://rt.perl.org/Ticket/Display.html?id=122556>
637
638 =item *
639
640 Various cases where the name of a sub is used (autoload, overloading, error
641 messages) used to crash for lexical subs, but have been fixed.
642
643 =item *
644
645 Bareword lookup now tries to avoid vivifying packages if it turns out the
646 bareword is not going to be a subroutine name.
647
648 =item *
649
650 Compilation of anonymous constants (e.g., C<sub () { 3 }>) no longer
651 deletes any subroutine named C<__ANON__> in the current package.  Not only
652 was C<*__ANON__{CODE}> cleared, but there was a memory leak, too.  This bug
653 goes back to perl 5.8.0.
654
655 =item *
656
657 Stub declarations like C<sub f;> and C<sub f ();> no longer wipe out
658 constants of the same name declared by C<use constant>.  This bug was
659 introduced in perl 5.10.0.
660
661 =item *
662
663 Under some conditions a warning raised in compilation of regular
664 expression patterns could be displayed multiple times.  This is now
665 fixed.
666
667 =item *
668
669 C<qr/[\N{named sequence}]/> now works properly in many instances.  Some
670 names known to C<\N{...}> refer to a sequence of multiple characters,
671 instead of the usual single character.  Bracketed character classes
672 generally only match single characters, but now special handling has
673 been added so that they can match named sequences, but not if the class
674 is inverted or the sequence is specified as the beginning or end of a
675 range.  In these cases, the only behavior change from before is a slight
676 rewording of the fatal error message given when this class is part of a
677 C<?[...])> construct.  When the C<[...]> stands alone, the same
678 non-fatal warning as before is raised, and only the first character in
679 the sequence is used, again just as before.
680
681 =item *
682
683 Tainted constants evaluated at compile time no longer cause unrelated
684 statements to become tainted.
685 L<[perl #122669]|https://rt.perl.org/Ticket/Display.html?id=122669>
686
687 =item *
688
689 C<open $$fh, ...>, which vivifies a handle with a name like "main::_GEN_0",
690 was not giving the handle the right reference count, so a double free could
691 happen.
692
693 =item *
694
695 When deciding that a bareword was a method name, the parser would get
696 confused if an "our" sub with the same name existed, and look up the method
697 in the package of the "our" sub, instead of the package of the invocant.
698
699 =item *
700
701 The parser no longer gets confused by C<\U=> within a double-quoted string.
702 It used to produce a syntax error, but now compiles it correctly.
703 L<[perl #80368]|https://rt.perl.org/Ticket/Display.html?id=80368>
704
705 =item *
706
707 It has always been the intention for the C<-B> and C<-T> file test
708 operators to treat UTF-8 encoded files as text.
709 (L<perlfunc|perlfunc/-X FILEHANDLE> has been updated to say this.)
710 Previously, it was possible for some files to be considered UTF-8 that
711 actually weren't valid UTF-8.  This is now fixed.  The operators now
712 work on EBCDIC platforms as well.
713
714 =item *
715
716 Under some conditions warning messages raised during regular expression
717 pattern compilation were being output more than once.  This has now been
718 fixed.
719
720 =item *
721
722 A regression has been fixed that was introduced in v5.20.0 (fixed in
723 v5.20.1 as well as here) in which a UTF-8 encoded regular expression
724 pattern that contains a single ASCII lowercase letter does not match its
725 uppercase counterpart.
726 L<[perl #122655]|https://rt.perl.org/Ticket/Display.html?id=122655>
727
728 =item *
729
730 Constant folding could incorrectly suppress warnings if lexical warnings
731 (C<use warnings> or C<no warnings>) were not in effect and C<$^W> were
732 false at compile time and true at run time.
733
734 =item *
735
736 Loading UTF8 tables during a regular expression match could cause assertion
737 failures under debugging builds if the previous match used the very same
738 regular expression.
739 L<[perl #122747]|https://rt.perl.org/Ticket/Display.html?id=122747>
740
741 =item *
742
743 Thread cloning used to work incorrectly for lexical subs, possibly causing
744 crashes or double frees on exit.
745
746 =item *
747
748 Since perl 5.14.0, deleting C<$SomePackage::{__ANON__}> and then undefining
749 an anonymous subroutine could corrupt things internally, resulting in
750 L<Devel::Peek> crashing or L<B.pm|B> giving nonsensical data.  This has
751 been fixed.
752
753 =item *
754
755 C<(caller $n)[3]> now reports names of lexical subs, instead of treating
756 them as "(unknown)".
757
758 =item *
759
760 C<sort subname LIST> now supports lexical subs for the comparison routine.
761
762 =item *
763
764 Aliasing (e.g., via C<*x = *y>) could confuse list assignments that mention
765 the two names for the same variable on either side, causing wrong values to
766 be assigned.
767 L<[perl #15667]|https://rt.perl.org/Ticket/Display.html?id=15667>
768
769 =item *
770
771 Long here-doc terminators could cause a bad read on short lines of input.
772 This has been fixed.  It is doubtful that any crash could have occurred.
773 This bug goes back to when here-docs were introduced in perl 3.000
774 twenty-five years ago.
775
776 =item *
777
778 An optimization in C<split> to treat C<split/^/> like C<split/^/m> had the
779 unfortunate side-effect of also treating C<split/\A/> like C<split/^/m>, which
780 it should not.  This has been fixed.  (Note, however, that C<split/^x/> does
781 not behave like C<split/^x/m>, which is also considered to be a bug and will be
782 fixed in a future version.)
783 L<[perl #122761]|https://rt.perl.org/Ticket/Display.html?id=122761>
784
785 =back
786
787 =head1 Known Problems
788
789 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
790 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
791 platform specific bugs also go here.
792
793 [ List each fix as a =item entry ]
794
795 =over 4
796
797 =item *
798
799 XXX
800
801 =back
802
803 =head1 Errata From Previous Releases
804
805 =over 4
806
807 =item *
808
809 XXX Add anything here that we forgot to add, or were mistaken about, in
810 the perldelta of a previous release.
811
812 =back
813
814 =head1 Obituary
815
816 XXX If any significant core contributor has died, we've added a short obituary
817 here.
818
819 =head1 Acknowledgements
820
821 XXX Generate this with:
822
823   perl Porting/acknowledgements.pl v5.21.3..HEAD
824
825 =head1 Reporting Bugs
826
827 If you find what you think is a bug, you might check the articles recently
828 posted to the comp.lang.perl.misc newsgroup and the perl bug database at
829 https://rt.perl.org/ .  There may also be information at
830 http://www.perl.org/ , the Perl Home Page.
831
832 If you believe you have an unreported bug, please run the L<perlbug> program
833 included with your release.  Be sure to trim your bug down to a tiny but
834 sufficient test case.  Your bug report, along with the output of C<perl -V>,
835 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
836
837 If the bug you are reporting has security implications, which make it
838 inappropriate to send to a publicly archived mailing list, then please send it
839 to perl5-security-report@perl.org.  This points to a closed subscription
840 unarchived mailing list, which includes all the core committers, who will be
841 able to help assess the impact of issues, figure out a resolution, and help
842 co-ordinate the release of patches to mitigate or fix the problem across all
843 platforms on which Perl is supported.  Please only use this address for
844 security issues in the Perl core, not for modules independently distributed on
845 CPAN.
846
847 =head1 SEE ALSO
848
849 The F<Changes> file for an explanation of how to view exhaustive details on
850 what changed.
851
852 The F<INSTALL> file for how to build Perl.
853
854 The F<README> file for general stuff.
855
856 The F<Artistic> and F<Copying> files for copyright information.
857
858 =cut