This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
update perldelta and correct one dubious entry
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =for comment
4 This has been completed up to c6537db3.
5
6 =head1 NAME
7
8 [ this is a template for a new perldelta file. Any text flagged as
9 XXX needs to be processed before release. ]
10
11 perldelta - what is new for perl v5.15.1
12
13 =head1 DESCRIPTION
14
15 This document describes differences between the 5.15.1 release and
16 the 5.15.0 release.
17
18 If you are upgrading from an earlier release such as 5.14.0, first read
19 L<perl5150delta>, which describes differences between 5.14.0 and
20 5.15.0.
21
22 =head1 Notice
23
24 XXX Any important notices here
25
26 =head1 Core Enhancements
27
28 XXX New core language features go here. Summarise user-visible core language
29 enhancements. Particularly prominent performance optimisations could go
30 here, but most should go in the L</Performance Enhancements> section.
31
32 [ List each enhancement as a =head2 entry ]
33
34 =head2 C<splice()> doesn't warn when truncating
35
36 You can now limit the size of an array using C<splice(@a,MAX_LEN)> without
37 worrying about warnings.
38
39 =head2 The C<\$> prototype accepts any scalar lvalue
40
41 The C<\$> and C<\[$]> subroutine prototypes now accept any scalar lvalue
42 argument.  Previously they only accepted scalars beginning with C<$> and
43 hash and array elements.  This change makes them consistent with the way
44 the built-in C<read> and C<recv> functions (among others) parse their
45 arguments. This means that one can override the built-in functions with
46 custom subroutines that parse their arguments the same way.
47
48 =head2 You can now C<study> more than one string
49
50 The restriction that you can only have one C<study> active at a time has been
51 removed. You can now usefully C<study> as many strings as you want (until you
52 exhaust memory).
53
54 =head2 The Unicode C<Script_Extensions> property is now supported.
55
56 New in Unicode 6.0, this is an improved C<Script> property.  Details
57 are in L<perlunicode/Scripts>.
58
59 =head2 DTrace probes for interpreter phase change
60
61 The C<phase-change> probes will fire when the interpreter's phase
62 changes, which tracks the C<${^GLOBAL_PHASE}> variable. C<arg0> is
63 the new phase name; C<arg1> is the old one. This is useful mostly
64 for limiting your instrumentation to one or more of: compile time,
65 run time, destruct time.
66
67 =head2 New Pad API
68
69 Many new functions have been added to the API for manipulating lexical
70 pads.  See L<perlapi/Pad Data Structures> for more information.
71
72 =head1 Security
73
74 XXX Any security-related notices go here.  In particular, any security
75 vulnerabilities closed should be noted here rather than in the
76 L</Selected Bug Fixes> section.
77
78 [ List each security issue as a =head2 entry ]
79
80 =head1 Incompatible Changes
81
82 XXX For a release on a stable branch, this section aspires to be:
83
84     There are no changes intentionally incompatible with 5.XXX.XXX
85     If any exist, they are bugs and reports are welcome.
86
87 [ List each incompatible change as a =head2 entry ]
88
89 =head1 Deprecations
90
91 XXX Any deprecated features, syntax, modules etc. should be listed here.
92 In particular, deprecated modules should be listed here even if they are
93 listed as an updated module in the L</Modules and Pragmata> section.
94
95 [ List each deprecation as a =head2 entry ]
96
97 =head1 Performance Enhancements
98
99 XXX Changes which enhance performance without changing behaviour go here. There
100 may well be none in a stable release.
101
102 [ List each enhancement as a =item entry ]
103
104 =over 4
105
106 =item *
107
108 The short-circuiting operators C<&&>, C<||>, and C<//> are now
109 considerably faster in the short-circuiting case due to reduced
110 OP-tree traversal.
111
112 =item *
113
114 The implementation of C<s///r> makes one less copy of the scalar's value.
115
116 =item *
117
118 If a studied scalar is C<split> with a regex, the engine will now take
119 advantage of the C<study> data.
120
121 =item *
122
123 C<study> now uses considerably less memory for shorter strings. Strings shorter
124 than 65535 characters use roughly half the memory than previously, strings
125 shorter than 255 characters use roughly one quarter of the memory.
126
127 =item *
128
129 Recursive calls to lvalue subroutines in lvalue scalar context use less
130 memory.
131
132 =back
133
134 =head1 Modules and Pragmata
135
136 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
137 go here.  If Module::CoreList is updated, generate an initial draft of the
138 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
139 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
140 below.  A paragraph summary for important changes should then be added by hand.
141 In an ideal world, dual-life modules would have a F<Changes> file that could be
142 cribbed.
143
144 [ Within each section, list entries as a =item entry ]
145
146 =head2 New Modules and Pragmata
147
148 =over 4
149
150 =item *
151
152 The logic for parsing, merging, and dumping XS typemaps has been extracted
153 from C<ExtUtils::ParseXS> into a module of its own, L<ExtUtils::Typemaps>.
154 C<ExtUtils::Typemaps> offers an interface to typemap handling outside of
155 the scope of the XS compiler itself.
156
157 As a first use case of the improved API and extensibility, typemaps can now
158 be included inline in XS code with a HEREDOC-like syntax:
159
160   TYPEMAP: <<END_TYPEMAP
161   MyType        T_IV
162   END_TYPEMAP
163
164 =back
165
166 =head2 Updated Modules and Pragmata
167
168 =over 4
169
170 =item *
171
172 L<B::Deparse> has been upgrade from version 1.05 to 1.06.
173
174 It now correctly deparses interpolation of punctuation variables (like
175 C<@*>) that do not interpolate without braces [perl #93990].
176
177 =item *
178
179 L<CGI> has been upgraded from version 3.54 to version 3.55
180
181 [THINGS THAT MAY BREAK YOUR CODE]
182
183 C<url()> was fixed to return C<PATH_INFO> when it is explicitly requested
184 with either the path=>1 or path_info=>1 flag.
185
186 If your code is running under mod_rewrite (or compatible) and you are calling C<self_url()> or
187 you are calling C<url()> and passing path_info=>1, These methods will actually be
188 returning C<PATH_INFO> now, as you have explicitly requested, or has C<self_url()>
189 has requested on your behalf.
190
191 The C<PATH_INFO> has been omitted in such URLs since the issue was introduced
192 in the 3.12 release in December, 2005.
193
194 This bug is so old your application may have come to depend on it or
195 workaround it. Check for application before upgrading to this release.
196
197 Examples of affected method calls:
198
199   $q->url(-absolute => 1, -query => 1, -path_info => 1 )
200   $q->url(-path=>1)
201   $q->url(-full=>1,-path=>1)
202   $q->url(-rewrite=>1,-path=>1)
203   $q->self_url();
204
205 =item *
206
207 L<Compress::Raw::Bzip2> has been upgraded from version 2.035 to version 2.037
208
209 =item *
210
211 L<Compress::Raw::Zlib> has been upgraded from version 2.035 to version 2.037
212
213 Added offset parameter to CRC32
214
215 =item *
216
217 L<Compress::Zlib> has been upgraded from version 2.035 to version 2.037
218
219 IO::Compress::Zip and IO::Uncompress::Unzip now have support for LZMA (method 14).
220 There is a fix for a CRC issue in IO::Compress::Unzip and it supports Streamed
221 Stored context now. And fixed a Zip64 issue in
222 IO::Compress::Zip when the content size was exactly 0xFFFFFFFF.
223
224 =item *
225
226 L<CPANPLUS> has been upgraded from version 0.9105 to version 0.9108
227
228 =item *
229
230 L<Cwd> has been upgraded from version 3.36 to 3.37, to address an
231 incompatibility with the EPIC debugger.
232
233 =item *
234
235 L<diagnostics> has been upgraded from version 1.22 to 1.23.
236
237 It now knows how to find descriptions for diagnostic messages ending with a
238 dot, instead getting confused by it.
239
240 =item *
241
242 L<ExtUtils::MakeMaker> has been upgraded from version 6.57_05 to version 6.58
243
244 =item *
245
246 L<ExtUtils::ParseXS> has been upgraded from version 2.2210 to 3.00_01.
247
248 Much of L<ExtUtils::ParseXS>, the module behind the XS compiler C<xsubpp>,
249 was rewritten and cleaned up. It has been made somewhat more extensible
250 and now finally uses strictures.
251
252 The typemap logic has been moved into a separate module,
253 L<ExtUtils::Typemaps>.  See L</New Modules and Pragmata>, above.
254
255 =item *
256
257 L<HTTP::Tiny> has been upgraded from version 0.012 to version 0.013.
258
259 Added support for using C<$ENV{http_proxy}> to set the default proxy host.
260
261 =item *
262
263 L<IPC::Cmd> has been upgraded from version 0.70 to version 0.72
264
265 Capturing of command output (both C<STDOUT> and C<STDERR>) is now supported
266 using L<IPC::Open3> on MSWin32 without requiring L<IPC::Run>.
267
268 =item *
269
270 L<Locale::Codes> has been upgraded from version 3.16 to version 3.17
271
272 Added Language Extension codes (langext) and Language Variation codes
273 (langvar) as defined in the IANA language registry.
274
275 Added language codes from ISO 639-5
276
277 Added language/script codes from the IANA language subtag
278 registry
279
280 Fixed an uninitialized value warning.  RT 67438
281
282 Fixed the return value for the all_XXX_codes and all_XXX_names functions.  RT 69100
283
284 Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to
285 allow for cleaner future additions.  The original four modules (Locale::Language,
286 Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
287 all new sets of codes will be added in the Locale::Codes namespace.
288
289 =item *
290
291 L<attributes> has been upgraded from version 0.14 to 0.15, as part of the
292 lvalue attribute warnings fix.  See L</Selected Bug Fixes>, below.
293
294 =item *
295
296 L<Math::BigInt::FastCalc> has been upgraded from version 0.28 to version 0.29.
297
298 The XS code is now compiled with C<PERL_NO_GET_CONTEXT>, which will aid
299 performance under ithreads.
300
301 =item *
302
303 L<Module::CoreList> has been upgraded from version 2.51 to 2.53.
304
305 Some extraneous (and erroneous) entries have been removed
306 [rt.cpan.org #69108].
307
308 The C<corelist> utility now understands the C<-r> option for
309 displaying Perl release dates.
310
311 =item *
312
313 L<Pod::Perldoc> has been upgraded from version 3.15_05 to 3.15_06.
314
315 The B<-v> option now fetches the right section for C<$0>.
316
317 =item *
318
319 L<Pod::Simple> has been upgraded from version 3.16 to version 3.18
320
321 =item *
322
323 L<Unicode::Collate> has been upgraded from version 0.76 to version 0.77
324
325 Applied [perl #93470] silencing compiler warnings with -Wwrite-strings
326
327 =item *
328
329 L<Win32API::File> has been upgraded from version 0.1101 to version 0.1200
330
331 Added SetStdHandle and GetStdHandle functions
332
333 =item *
334
335 L<threads> has been upgraded from version 1.83 to 1.84
336
337 An unused variable was removed from the XS code.
338
339 =back
340
341 =head2 Removed Modules and Pragmata
342
343 =over 4
344
345 =item *
346
347 Perl 4-era .pl libraries
348
349 Perl used to bundle a handful of library files that predate Perl 5. Most of
350 these files, which have been deprecated since version 5.14.0, have now been
351 removed. If your code still relies on these libraries, you can install them
352 again from C<Perl4::CoreLibs> on CPAN.
353
354 =back
355
356 =head1 Documentation
357
358 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
359 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
360
361 =head2 New Documentation
362
363 XXX Changes which create B<new> files in F<pod/> go here.
364
365 =head3 L<perldtrace>
366
367 L<perldtrace> describes Perl's DTrace support, listing the provided probes
368 and gives examples of their use.
369
370 =head3 L<perl5141delta>
371
372 The delta file for Perl 5.14.1 has been copied to blead.
373
374 =head2 Changes to Existing Documentation
375
376 XXX Changes which significantly change existing files in F<pod/> go here.
377 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
378 section.
379
380 =head3 L<XXX>
381
382 =over 4
383
384 =item *
385
386 XXX Description of the change here
387
388 =item *
389
390 L<perlxs> was extended with documentation on inline typemaps.
391
392 =item *
393
394 L<perlref> has a new L<Circular References|perlref/Circular References>
395 section explaining how circularities may not be freed and how to solve that
396 with weak references.
397
398 =item *
399
400 The documentation for smart match in L<perlsyn> has been corrected for the
401 case of C<undef> on the left-hand side.  The list of different smart match
402 behaviours had an item in the wrong place.
403
404 =item *
405
406 Parts of L<perlapi> were clarified, and Perl equivalents of some C
407 functions have been added as an additional mode of exposition.
408
409 =item *
410
411 A few parts of L<perlre> and L<perlrecharclass> were clarified.
412
413 =back
414
415 =head1 Diagnostics
416
417 The following additions or changes have been made to diagnostic output,
418 including warnings and fatal error messages.  For the complete list of
419 diagnostic messages, see L<perldiag>.
420
421 XXX New or changed warnings emitted by the core's C<C> code go here. Also
422 include any changes in L<perldiag> that reconcile it to the C<C> code.
423
424 [ Within each section, list entries as a =item entry that links to perldiag,
425   e.g.
426
427   =item *
428
429   L<Invalid version object|perldiag/"Invalid version object">
430 ]
431
432 =head2 New Diagnostics
433
434 XXX Newly added diagnostic messages go here
435
436 =head3 New Errors
437
438 =over 4
439
440 =item *
441
442 XXX L<message|perldiag/"message">
443
444 =back
445
446 =head3 New Warnings
447
448 =over 4
449
450 =item *
451
452 XXX L<message|perldiag/"message">
453
454 =back
455
456 =head2 Changes to Existing Diagnostics
457
458 XXX Changes (i.e. rewording) of diagnostic messages go here
459
460 =over 4
461
462 =item *
463
464 The L<Invalid version format|perldiag/"Invalid version format (%s)">
465 error message now says "negative version number" within the parentheses,
466 rather than "non-numeric data", for negative numbers.
467
468 =item *
469
470 The two warnings
471 L<Possible attempt to put comments in qw() list|perldiag/"Possible attempt to put comments in qw() list">
472 and
473 L<Possible attempt to separate words with commas|perldiag/"Possible attempt to separate words with commas">
474 are no longer mutually exclusive: the same C<qw> construct may produce
475 both.
476
477 =item *
478
479 Warnings that mention the names of lexical (C<my>) variables with Unicode
480 characters in them now respect the presence or absence of the C<:utf8>
481 layer on the output handle, instead of outputting UTF8 regardless.  Also,
482 the correct names are included in the strings passed to C<$SIG{__WARN__}>
483 handlers, rather than the raw UTF8 bytes.
484
485 =back
486
487 =head1 Utility Changes
488
489 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
490 here. Most of these are built within the directories F<utils> and F<x2p>.
491
492 [ List utility changes as a =head3 entry for each utility and =item
493 entries for each change
494 Use L<XXX> with program names to get proper documentation linking. ]
495
496 =head3 L<XXX>
497
498 =over 4
499
500 =item *
501
502 XXX
503
504 =back
505
506 =head1 Configuration and Compilation
507
508 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
509 go here.  Any other changes to the Perl build process should be listed here.
510 However, any platform-specific changes should be listed in the
511 L</Platform Support> section, instead.
512
513 [ List changes as a =item entry ].
514
515 =over 4
516
517 =item *
518
519 XXX
520
521 =back
522
523 =head1 Testing
524
525 XXX Any significant changes to the testing of a freshly built perl should be
526 listed here.  Changes which create B<new> files in F<t/> go here as do any
527 large changes to the testing harness (e.g. when parallel testing was added).
528 Changes to existing files in F<t/> aren't worth summarising, although the bugs
529 that they represent may be covered elsewhere.
530
531 [ List each test improvement as a =item entry ]
532
533 =over 4
534
535 =item *
536
537 F<t/run/dtrace.t> was added to test Perl's DTrace support. This
538 test will only be run if your Perl was built with C<-Dusedtrace>
539 and if calling C<dtrace> actually lets you instrument code. This
540 generally requires being run as root, so this test file is primarily
541 intended for use by the dtrace subcommittee of p5p.
542
543 =item *
544
545 F<t/win32/runenv.t> was added to test aspects of Perl's environment
546 variable handling on MSWin32 platforms.  Previously, such tests were
547 skipped on MSWin32 platforms.
548
549 =item *
550
551 Some bitrot has been fixed in the miniperl test suite, so that it now
552 nearly passes.  The minitest is normally only run when building the
553 full perl fails, so it was liable to fall into disrepair making it a
554 less useful debugging tool.  When it is fully passing it is hoped to
555 start including it in regular smoke tests, so that future bitrot will
556 be quickly detected.
557
558 =back
559
560 =head1 Platform Support
561
562 XXX Any changes to platform support should be listed in the sections below.
563
564 [ Within the sections, list each platform as a =item entry with specific
565 changes as paragraphs below it. ]
566
567 =head2 New Platforms
568
569 XXX List any platforms that this version of perl compiles on, that previous
570 versions did not. These will either be enabled by new files in the F<hints/>
571 directories, or new subdirectories and F<README> files at the top level of the
572 source tree.
573
574 =over 4
575
576 =item XXX-some-platform
577
578 XXX
579
580 =back
581
582 =head2 Discontinued Platforms
583
584 XXX List any platforms that this version of perl no longer compiles on.
585
586 =over 4
587
588 =item XXX-some-platform
589
590 XXX
591
592 =back
593
594 =head2 Platform-Specific Notes
595
596 XXX List any changes for specific platforms. This could include configuration
597 and compilation changes or changes in portability/compatibility.  However,
598 changes within modules for platforms should generally be listed in the
599 L</Modules and Pragmata> section.
600
601 =head3 Windows
602
603 =over
604
605 =item *
606
607 On Windows 7, 2008 and Vista, C<@INC> is now always properly populated
608 based on the value of PERL5LIB set in the environment.  Previously,
609 values of PERL5LIB longer than 32766 bytes were skipped when C<@INC>
610 was being populated.  Tests for environment handling were
611 also added (see L</Testing> section).  Fixes
612 L<RT #87322|https://rt.perl.org/rt3/Public/Bug/Display.html?id=87322>.
613
614 =back
615
616 =head3 XXX-some-platform
617
618 =over
619
620 =item *
621
622 XXX
623
624 =back
625
626 =head1 Internal Changes
627
628 XXX Changes which affect the interface available to C<XS> code go here.
629 Other significant internal changes for future core maintainers should
630 be noted as well.
631
632 [ List each change as a =item entry ]
633
634 =over 4
635
636 =item *
637
638 The expermental C<fetch_cop_label> function has been renamed to
639 C<cop_fetch_label>.
640
641 =item *
642
643 The C<cop_store_label> function has been added to the API, but is
644 experimental.
645
646 =back
647
648 =head1 Selected Bug Fixes
649
650 XXX Important bug fixes in the core language are summarised here.
651 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
652 L</Modules and Pragmata>.
653
654 [ List each fix as a =item entry ]
655
656 =over 4
657
658 =item *
659
660 Applying the :lvalue attribute to subroutine that is already defined does
661 not work properly, as the attribute changes the way the sub is compiled.
662 Hence, Perl 5.12 began warning when an attempt is made to apply the
663 attribute to an already defined sub.  In such cases, the attribute is
664 discarded.
665
666 But the change in 5.12 missed the case where custom attributes are also
667 present: that case still silently and ineffectively applied the attribute.
668 That omission has now been corrected.  C<sub foo :lvalue :Whatever> (when
669 C<foo> is already defined) now warns about the :lvalue attribute, and does
670 not apply it.
671
672 L<attributes.pm|attributes> has likewise been updated to warn and not apply
673 the attribute.
674
675 =item *
676
677 =for comment
678 Not necessary for perl5160delta
679
680 The remaining discrepancies between explicit and implicit return from
681 lvalue subroutines have been resolved.  They mainly involved which error
682 message to display when a read-only value is returned in lvalue context.
683 Also, returning a PADTMP (the result of most built-ins, like C<index>) in
684 lvalue context is now forbidden for explicit return, as it always has been
685 for implicit return.  This is not a regression from 5.14, as all the cases
686 in which it could happen where previously syntax errors.
687
688 =item *
689
690 =for comment
691 Not necessary for perl5160delta
692
693 Explicitly returning a tied C<my> variable from an lvalue subroutine in
694 list lvalue context used to clear the variable before the assignment could
695 happen.  This is something that was missed when explicit return was made to
696 work in 5.15.0.
697
698 =item *
699
700 =for comment
701 Not necessary for perl5160delta
702
703 A minor memory leak, introduced in 5.15.0, has been fixed.  It would occur
704 when a hash is freed that has had its current iterator deleted
705 [perl #93454].
706
707 =item *
708
709 The C<prototype> function no longer dies for the C<__FILE__>, C<__LINE__>
710 and C<__PACKAGE__> directives.  It now returns an empty-string prototype
711 for them, because they are syntactically very similar to nullary functions
712 like C<time>.
713
714 =item *
715
716 C<prototype> now returns C<undef> for all overridable infix operators,
717 such as C<eq>, which are not callable in any way resembling functions.
718 It used to return incorrect prototypes for some and die for others
719 [perl #94984].
720
721 =item *
722
723 A bug affecting lvalue context propagation through nested lvalue subroutine
724 calls has been fixed.  Previously, returning a value in nested rvalue
725 context would be treated as lvalue context by the inner subroutine call,
726 resulting in some values (such as read-only values) being rejected.
727
728 =item *
729
730 Some core bugs affecting L<Hash::Util> have been fixed: locking a hash
731 element that is a glob copy no longer causes subsequent assignment to it to
732 corrupt the glob, and unlocking a hash element that holds a copy-on-write
733 scalar no longer causes modifications to that scalar to modify other
734 scalars that were sharing the same string buffer.
735
736 =item *
737
738 C<when> blocks are now capable of returning variables declared inside the
739 enclosing C<given> block [perl #93548].
740
741 =item *
742
743 A problem with context propagation when a C<do> block is an argument to
744 C<return> has been fixed.  It used to cause undefined to be returned in
745 some cases of a C<return> inside an C<if> block which itself is followed by
746 another C<return>.
747
748 =item *
749
750 Calling C<index> with a tainted constant no longer causes constants in
751 subsequently compiled code to become tainted [perl #64804].
752
753 =item *
754
755 Use of lexical (C<my>) variables in code blocks embedded in regular
756 expressions will no longer result in memory corruption or crashes.
757
758 Nevertheless, these code blocks are still experimental, as there are still
759 problems with the wrong variables being closed over (in loops for instance)
760 and with abnormal exiting (e.g., C<die>) causing memory corruption.
761
762 =item *
763
764 The C<SvIsCOW> C macro now returns false for read-only copies of typeglobs,
765 such as those created by:
766
767   $hash{elem} = *foo;
768   Hash::Util::lock_value %hash, 'elem';
769
770 It used to return true.
771
772 =item *
773
774 The regexp optimiser no longer crashes on debugging builds when merging
775 fixed-string nodes with inconvenient contents.
776
777 =back
778
779 =head1 Known Problems
780
781 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
782 tests that had to be C<TODO>ed for the release would be noted here, unless
783 they were specific to a particular platform (see below).
784
785 This is a list of some significant unfixed bugs, which are regressions
786 from either 5.XXX.XXX or 5.XXX.XXX.
787
788 [ List each fix as a =item entry ]
789
790 =over 4
791
792 =item *
793
794 XXX
795
796 =back
797
798 =head1 Obituary
799
800 XXX If any significant core contributor has died, we've added a short obituary
801 here.
802
803 =head1 Acknowledgements
804
805 Generate this with:
806
807   perl Porting/acknowledgements.pl v5.15.0..HEAD
808
809 =head1 Reporting Bugs
810
811 If you find what you think is a bug, you might check the articles
812 recently posted to the comp.lang.perl.misc newsgroup and the perl
813 bug database at http://rt.perl.org/perlbug/ .  There may also be
814 information at http://www.perl.org/ , the Perl Home Page.
815
816 If you believe you have an unreported bug, please run the L<perlbug>
817 program included with your release.  Be sure to trim your bug down
818 to a tiny but sufficient test case.  Your bug report, along with the
819 output of C<perl -V>, will be sent off to perlbug@perl.org to be
820 analysed by the Perl porting team.
821
822 If the bug you are reporting has security implications, which make it
823 inappropriate to send to a publicly archived mailing list, then please send
824 it to perl5-security-report@perl.org. This points to a closed subscription
825 unarchived mailing list, which includes
826 all the core committers, who will be able
827 to help assess the impact of issues, figure out a resolution, and help
828 co-ordinate the release of patches to mitigate or fix the problem across all
829 platforms on which Perl is supported. Please only use this address for
830 security issues in the Perl core, not for modules independently
831 distributed on CPAN.
832
833 =head1 SEE ALSO
834
835 The F<Changes> file for an explanation of how to view exhaustive details
836 on what changed.
837
838 The F<INSTALL> file for how to build Perl.
839
840 The F<README> file for general stuff.
841
842 The F<Artistic> and F<Copying> files for copyright information.
843
844 =cut