This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
09fdb00a5865ad13c570fe30bb6735916f3f0a5e
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =for comment
4 This has been completed up to 91fad77, except for:
5 9cef83062267e94311e1fd8744396e440642738e
6 8e88cfee26d866223a6b3bfffce6270271de00db
7
8 =head1 NAME
9
10 [ this is a template for a new perldelta file. Any text flagged as
11 XXX needs to be processed before release. ]
12
13 perldelta - what is new for perl v5.13.8
14
15 =head1 DESCRIPTION
16
17 This document describes differences between the 5.13.8 release and
18 the 5.13.7 release.
19
20 If you are upgrading from an earlier release such as 5.13.6, first read
21 L<perl5137delta>, which describes differences between 5.13.6 and
22 5.13.7.
23
24 =head1 Notice
25
26 XXX Any important notices here
27
28 =head1 Core Enhancements
29
30 XXX New core language features go here. Summarise user-visible core language
31 enhancements. Particularly prominent performance optimisations could go
32 here, but most should go in the L</Performance Enhancements> section.
33
34 [ List each enhancement as a =head2 entry ]
35
36 =head2 C<-d:-foo> calls C<Devel::foo::unimport>
37
38 The syntax C<-dI<B<:>foo>> was extended in 5.6.1 to make C<-dI<:fooB<=bar>>>
39 equivalent to C<-MDevel::foo=bar>, which expands
40 internally to C<use Devel::foo 'bar';>.
41 F<perl> now allows prefixing the module name with C<->, with the same
42 semantics as C<-M>, I<i.e.>
43
44 =over 4
45
46 =item C<-d:-foo>
47
48 Equivalent to C<-M-Devel::foo>, expands to
49 C<no Devel::foo;>, calls C<< Devel::foo->unimport() >>
50 if the method exists.
51
52 =item C<-d:-foo=bar>
53
54 Equivalent to C<-M-Devel::foo=bar>, expands to C<no Devel::foo 'bar';>,
55 calls C<< Devel::foo->unimport('bar') >> if the method exists.
56
57 =back
58
59 This is particularly useful to suppresses the default actions of a
60 C<Devel::*> module's C<import> method whilst still loading it for debugging.
61
62 =head2 Filehandle method calls load IO::File on demand
63
64 When a method call on a filehandle would die because the method can not
65 be resolved and L<IO::File> has not been loaded, Perl now loads IO::File
66 via C<require> and attempts method resolution again:
67
68   open my $fh, ">", $file;
69   $fh->binmode(":raw");     # loads IO::File and succeeds
70
71 This also works for globs like STDOUT, STDERR and STDIN:
72
73   STDOUT->autoflush(1);
74
75 Because this on-demand load only happens if method resolution fails, the
76 legacy approach of manually loading an IO::File parent class for partial
77 method support still works as expected:
78
79   use IO::Handle;
80   open my $fh, ">", $file;
81   $fh->autoflush(1);        # IO::File not loaded
82
83 =head2 Full functionality for C<use feature 'unicode_strings'>
84
85 This release provides full functionality for C<use feature
86 'unicode_strings'>.  Under its scope, all string operations executed and
87 regular expressions compiled (even if executed outside its scope) have
88 Unicode semantics.   See L<feature>.
89
90 This feature avoids the "Unicode Bug" (See
91 L<perlunicode/The "Unicode Bug"> for details.)  If their is a
92 possibility that your code will process Unicode strings, you are
93 B<strongly> encouraged to use this subpragma to avoid nasty surprises.
94
95 This availability of this should strongly affect the whole tone of
96 various documents, such as L<perlunicode> and L<perluniintro>, but this
97 work has not been done yet.
98
99 =head2 Exception Handling Backcompat Hack
100
101 When an exception is thrown in an C<eval BLOCK>, C<$@> is now set before
102 unwinding, as well as being set after unwinding as the eval block exits.  This
103 early setting supports code that has historically treated C<$@> during unwinding
104 as an indicator of whether the unwinding was due to an exception.  These modules
105 had been broken by 5.13.1's change from setting C<$@> early to setting it late.
106 This double setting arrangement is a stopgap until the reason for unwinding can
107 be made properly introspectable.  C<$@> has never been a reliable indicator of
108 this.
109
110 =head2 printf-like functions understand size modifiers "hh", "z", "t", and sometimes "j"
111
112 Perl's printf and sprintf operators, and Perl's internal printf replacement
113 function, now understand the C90 size modifiers "hh" (C<char>), "z"
114 (C<size_t>), and "t" (C<ptrdiff_t>).  Also, when compiled with a C99
115 compiler, Perl now understands the size modifier "j" (C<intmax_t>).
116
117 So, for example, on any modern machine, C<sprintf('%hhd', 257)> returns '1'.
118
119 =head2 DTrace probes now include package name
120
121 The DTrace probes now include an additional argument (C<arg3>) which contains
122 the package the subroutine being entered or left was compiled in.
123
124 For example using the following DTrace script:
125
126   perl$target:::sub-entry
127   {
128       printf("%s::%s\n", copyinstr(arg0), copyinstr(arg3));
129   }
130
131 and then running:
132
133   perl -e'sub test { }; test'
134
135 DTrace will print:
136
137   main::test
138
139 =head2 Stacked labels
140
141 Multiple statement labels can now appear before a single statement.
142
143 =head1 Security
144
145 XXX Any security-related notices go here.  In particular, any security
146 vulnerabilities closed should be noted here rather than in the
147 L</Selected Bug Fixes> section.
148
149 [ List each security issue as a =head2 entry ]
150
151 =head1 Incompatible Changes
152
153 =head2 Attempting to use C<:=> as an empty attribute list is now a syntax error
154
155 Previously C<my $pi := 4;> was exactly equivalent to C<my $pi : = 4;>,
156 with the C<:> being treated as the start of an attribute list, ending before
157 the C<=>. The use of C<:=> to mean C<: => was deprecated in 5.12.0, and is now
158 a syntax error. This will allow the future use of C<:=> as a new token.
159
160 We find no Perl 5 code on CPAN using this construction, outside the core's
161 tests for it, so we believe that this change will have very little impact on
162 real-world codebases.
163
164 If it is absolutely necessary to have empty attribute lists (for example,
165 because of a code generator) then avoid the error by adding a space before
166 the C<=>.
167
168 =head2 Run-time code block in regular expressions
169
170 Code blocks in regular expressions (C<(?{...})> and C<(??{...})>) used not
171 to inherit any pragmata (strict, warnings, etc.) if the regular expression
172 was compiled at run time as happens in cases like these two:
173
174   use re 'eval';
175   $foo =~ $bar; # when $bar contains (?{...})
176   $foo =~ /$bar(?{ $finished = 1 })/;
177
178 This was a bug, which has now been fixed. But it has the potential to break
179 any code that was relying on this bug.
180
181 =head1 Deprecations
182
183 XXX Any deprecated features, syntax, modules etc. should be listed here.
184 In particular, deprecated modules should be listed here even if they are
185 listed as an updated module in the L</Modules and Pragmata> section.
186
187 [ List each deprecation as a =head2 entry ]
188
189 =head2 C<?PATTERN?> is deprecated
190
191 C<?PATTERN?> (without the initial m) has been deprecated and now produces
192 a warning.
193
194 =head2 C<sv_compile_2op> is now deprecated
195
196 The C<sv_compile_2op> is now deprecated, and will be removed. Searches suggest
197 that nothing on CPAN is using it, so this should have zero impact.
198
199 It attempted to provide an API to compile code down to an optree, but failed
200 to bind correctly to lexicals in the enclosing scope. It's not possible to
201 fix this problem within the constraints of its parameters and return value.
202
203 =head2 Tie functions on scalars holding typeglobs
204
205 Calling a tie function (C<tie>, C<tied>, C<untie>) with a scalar argument
206 acts on a file handle if the scalar happens to hold a typeglob.
207
208 This is a long-standing bug that will be removed in Perl 5.16, as
209 there is currently no way to tie the scalar itself when it holds
210 a typeglob, and no way to untie a scalar that has had a typeglob
211 assigned to it.
212
213 This bug was fixed in 5.13.7 but, because of the breakage it caused, the
214 fix has been reverted. Now there is a deprecation warning whenever a tie
215 function is used on a handle without an explicit C<*>.
216
217 =head1 Performance Enhancements
218
219 XXX Changes which enhance performance without changing behaviour go here. There
220 may well be none in a stable release.
221
222 [ List each enhancement as a =item entry ]
223
224 =over 4
225
226 =item *
227
228 XXX
229
230 =back
231
232 =head1 Modules and Pragmata
233
234 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
235 go here.  If Module::CoreList is updated, generate an initial draft of the
236 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
237 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
238 below.  A paragraph summary for important changes should then be added by hand.
239 In an ideal world, dual-life modules would have a F<Changes> file that could be
240 cribbed.
241
242 [ Within each section, list entries as a =item entry ]
243
244 =head2 New Modules and Pragmata
245
246 =over 4
247
248 =item *
249
250 XXX
251
252 =back
253
254 =head2 Updated Modules and Pragmata
255
256 =over 4
257
258 =item *
259
260 C<Archive::Tar> has been upgraded from version 1.72 to 1.74
261
262 =item *
263
264 C<B::Concise> has been upgraded from version 0.81 to 0.82.
265
266 It no longer produces mangled output with the C<-tree> option
267 L<[perl #80632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80632>.
268
269 =item *
270
271 C<Devel::SelfStubber> has been upgraded from version 1.04 to 1.05.
272
273 =item *
274
275 C<Digest::SHA> has been upgraded from 5.48 to 5.50
276
277 shasum now more closely mimics sha1sum/md5sum and Addfile
278 accepts all POSIX filenames.
279
280 =item *
281
282 C<Dumpvalue> has been upgraded from version 1.14 to 1.15.
283
284 =item *
285
286 C<Env> has been upgraded from version 1.01 to 1.02.
287
288 =item *
289
290 C<ExtUtils::CBuilder> has been upgraded from 0.2703 to 0.2802
291
292 =item *
293
294 C<ExtUtils::Embed> has been upgraded from 1.29 to 1.30.
295
296 =item *
297
298 C<if> has been upgraded from 0.06 to 0.0601.
299
300 =item *
301
302 C<Devel::SelfStubber> has been upgraded from version 1.03 to 1.04.
303
304 =item *
305
306 C<IPC::Cmd> has been upgraded from 0.64 to 0.66
307
308 Resolves an issue with splitting Win32 command lines
309 and documentation enhancements.
310
311 =item *
312
313 C<IPC::Open3> has been upgraded from 1.07 to 1.08.
314
315 =item *
316
317 C<Locale::Codes> has been upgraded from version 3.14 to 3.15
318
319 =item *
320
321 C<Memoize> has been upgraded from version 1.01_03 to 1.02.
322
323 =item *
324
325 C<MIME::Base64> has been upgraded from 3.10 to 3.13
326
327 Now provides encode_base64url and decode_base64url functions to process
328 the base64 scheme for "URL applications".
329
330 =item *
331
332 C<mro> has been upgraded from version 1.05 to 1.06.
333
334 C<next::method> I<et al.> now take into account that every class inherits
335 from UNIVERSAL
336 L<[perl #68654]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68654>.
337
338 =item *
339
340 C<Net::Ping> has been upgraded from 2.36 to 2.37.
341
342 =item *
343
344 C<overload> has been upgraded from 1.11 to 1.12.
345
346 =item *
347
348 C<PerlIO::encoding> has been upgraded from 0.13 to 0.14.
349
350 =item *
351
352 C<PerlIO::scalar> has been upgraded from 0.10 to 0.11.
353
354 A C<read> after a C<seek> beyond the end of the string no longer thinks it
355 has data to read
356 L<[perl #78716]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78716>.
357
358 =item *
359
360 C<re> has been upgraded from 0.14 to 0.15.
361
362 =item *
363
364 C<Socket> has been upgraded from 1.91 to 1.92.
365
366 It has several new functions for handling IPv6 addresses.
367
368 =item *
369
370 C<Storable> has been upgraded from 2.24 to 2.25.
371
372 This adds support for serialising code references that contain UTF-8 strings
373 correctly. The Storable minor version number changed as a result -- this means
374 Storable users that set C<$Storable::accept_future_minor> to a C<FALSE> value
375 will see errors (see L<Storable/FORWARD COMPATIBILITY> for more details).
376
377 =item *
378
379 C<Time::HiRes> has been upgraded from 1.9721 to 1.9721_01.
380
381 =item *
382
383 C<Unicode::Collate> has been upgraded from 0.67 to 0.68
384
385 =item *
386
387 C<Unicode::UCD> has been upgraded from 0.29 to 0.30.
388
389 =item *
390
391 C<version> has been upgraded from 0.82 to 0.86.
392
393 =item *
394
395 C<Win32> has been upgraded from 0.039 to 0.040.
396
397 =back
398
399 =head2 Removed Modules and Pragmata
400
401 =over 4
402
403 =item *
404
405 XXX
406
407 =back
408
409 =head1 Documentation
410
411 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
412 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
413
414 =head2 New Documentation
415
416 XXX Changes which create B<new> files in F<pod/> go here.
417
418 =head3 L<XXX>
419
420 XXX Description of the purpose of the new file here
421
422 =head2 Changes to Existing Documentation
423
424 XXX Changes which significantly change existing files in F<pod/> go here.
425 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
426 section.
427
428 =head3 L<XXX>
429
430 =over 4
431
432 =item *
433
434 XXX Description of the change here
435
436 =back
437
438 =head1 Diagnostics
439
440 The following additions or changes have been made to diagnostic output,
441 including warnings and fatal error messages.  For the complete list of
442 diagnostic messages, see L<perldiag>.
443
444 XXX New or changed warnings emitted by the core's C<C> code go here. Also
445 include any changes in L<perldiag> that reconcile it to the C<C> code.
446
447 [ Within each section, list entries as a =item entry ]
448
449 =head2 New Diagnostics
450
451 XXX Newly added diagnostic messages go here
452
453 =over 4
454
455 =item *
456
457 There is a new "Closure prototype called" error.
458
459 =back
460
461 =head2 Changes to Existing Diagnostics
462
463 XXX Changes (i.e. rewording) of diagnostic messages go here
464
465 =over 4
466
467 =item *
468
469 The "Found = in conditional" warning that is emitted when a constant is
470 assigned to a variable in a condition is now withheld if the constant is
471 actually a subroutine or one generated by C<use constant>, since the value
472 of the constant may not be known at the time the program is written
473 L<[perl #77762]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77762>.
474
475 =back
476
477 =head1 Utility Changes
478
479 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
480 here. Most of these are built within the directories F<utils> and F<x2p>.
481
482 [ List utility changes as a =head3 entry for each utility and =item
483 entries for each change
484 Use L<XXX> with program names to get proper documentation linking. ]
485
486 =head3 L<XXX>
487
488 =over 4
489
490 =item *
491
492 XXX
493
494 =back
495
496 =head1 Configuration and Compilation
497
498 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
499 go here.  Any other changes to the Perl build process should be listed here.
500 However, any platform-specific changes should be listed in the
501 L</Platform Support> section, instead.
502
503 [ List changes as a =item entry ].
504
505 =over 4
506
507 =item *
508
509 The C<Encode> module can now (once again) be included in a static Perl
510 build.  The special-case handling for this situation got broken in Perl
511 5.11.0, and has now been repaired.
512
513 =item *
514
515 XXX
516
517 =back
518
519 =head1 Testing
520
521 XXX Any significant changes to the testing of a freshly built perl should be
522 listed here.  Changes which create B<new> files in F<t/> go here as do any
523 large changes to the testing harness (e.g. when parallel testing was added).
524 Changes to existing files in F<t/> aren't worth summarising, although the bugs
525 that they represent may be covered elsewhere.
526
527 [ List each test improvement as a =item entry ]
528
529 =over 4
530
531 =item *
532
533 XXX
534
535 =back
536
537 =head1 Platform Support
538
539 XXX Any changes to platform support should be listed in the sections below.
540
541 [ Within the sections, list each platform as a =item entry with specific
542 changes as paragraphs below it. ]
543
544 =head2 New Platforms
545
546 XXX List any platforms that this version of perl compiles on, that previous
547 versions did not. These will either be enabled by new files in the F<hints/>
548 directories, or new subdirectories and F<README> files at the top level of the
549 source tree.
550
551 =over 4
552
553 =item XXX-some-platform
554
555 XXX
556
557 =back
558
559 =head2 Discontinued Platforms
560
561 XXX List any platforms that this version of perl no longer compiles on.
562
563 =over 4
564
565 =item XXX-some-platform
566
567 XXX
568
569 =back
570
571 =head2 Platform-Specific Notes
572
573 XXX List any changes for specific platforms. This could include configuration
574 and compilation changes or changes in portability/compatibility.  However,
575 changes within modules for platforms should generally be listed in the
576 L</Modules and Pragmata> section.
577
578 =over 4
579
580 =item NetBSD
581
582 The NetBSD hints file has been changed to make the system's malloc the
583 default.
584
585 =back
586
587 =head1 Internal Changes
588
589 XXX Changes which affect the interface available to C<XS> code go here.
590 Other significant internal changes for future core maintainers should
591 be noted as well.
592
593 [ List each test improvement as a =item entry ]
594
595 =over 4
596
597 =item *
598
599 C<mg_findext> and C<sv_unmagicext> have been added.
600
601 These new functions allow extension authors to find and remove magic attached to
602 scalars based on both the magic type and the magic virtual table, similar to how
603 C<sv_magicext> attaches magic of a certain type and with a given virtual table
604 to a scalar. This eliminates the need for extensions to walk the list of
605 C<MAGIC> pointers of an C<SV> to find the magic that belongs to them.
606
607 =item *
608
609 The C<parse_fullexpr()>, C<parse_listexpr(), C<parse_termexpr()> and
610 C<parse_arithexpr()> functions have been added.
611
612 These are for parsing expressions at various precedence levels.
613
614 =back
615
616 =head1 Selected Bug Fixes
617
618 XXX Important bug fixes in the core language are summarised here.
619 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
620 L</Modules and Pragmata>.
621
622 [ List each fix as a =item entry ]
623
624 =over 4
625
626 =item *
627
628 C<BEGIN {require 5.12.0}> now behaves as documented, rather than behaving
629 identically to C<use 5.12.0;>. Previously, C<require> in a C<BEGIN> block
630 was erroneously executing the C<use feature ':5.12.0'> and
631 C<use strict; use warnings;> behaviour, which only C<use> was documented to
632 provide
633 L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>.
634
635 =item *
636
637 C<use 5.42>
638 L<[perl #69050]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=69050>,
639 C<use 6> and C<no 5> no longer leak memory.
640
641 =item *
642
643 C<eval "BEGIN{die}"> no longer leaks memory on non-threaded builds.
644
645 =item *
646
647 PerlIO no longer crashes when called recursively, e.g., from a signal
648 handler. Now it just leaks memory
649 L<[perl #75556]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75556>.
650
651 =item *
652
653 Defining a constant with the same name as one of perl's special blocks
654 (e.g., INIT) stopped working in 5.12.0, but has now been fixed
655 L<[perl #78634]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78634>.
656
657 =item *
658
659 A reference to a literal value used as a hash key (C<$hash{\"foo"}>) used
660 to be stringified, even if the hash was tied
661 L<[perl #79178]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79178>.
662
663 =item *
664
665 A closure containing an C<if> statement followed by a constant or variable
666 is no longer treated as a constant
667 L<[perl #63540]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63540>.
668
669 =item *
670
671 Calling a closure prototype (what is passed to an attribute handler for a
672 closure) now results in a "Closure prototype called" error message instead
673 of a crash
674 L<[perl #68560]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68560>.
675
676 =item *
677
678 A regular expression optimisation would sometimes cause a match with a
679 C<{n,m}> quantifier to fail when it should match
680 L<[perl #79152]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=79152>.
681
682 =item *
683
684 What has become known as the "Unicode Bug" is resolved in this release.
685 Under C<use feature 'unicode_strings'>, the internal storage format of a
686 string no longer affects the external semantics.  There are two known
687 exceptions.  User-defined case changing functions, which are planned to
688 be deprecated in 5.14, require utf8-encoded strings to function; and the
689 character C<LATIN SMALL LETTER SHARP S> in regular expression
690 case-insensitive matching has a somewhat different set of bugs depending
691 on the internal storage format.  Case-insensitive matching of all
692 characters that have multi-character matches, as this one does, is
693 problematical in Perl.
694 L<[perl #58182]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=58182>.
695
696 =item *
697
698 Mentioning a read-only lexical variable from the enclosing scope in a
699 string C<eval> would cause the variable to become writable
700 L<[perl #19135]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=19135>.
701
702 =item *
703
704 C<state> can now be used with attributes. It used to mean the same thing as
705 C<my> if attributes were present
706 L<[perl #68658]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68658>.
707
708 =item *
709
710 Expressions like C<< @$a > 3 >> no longer cause C<$a> to be mentioned in
711 the "Use of uninitialized value in numeric gt" warning when C<$a> is
712 undefined (since it is not part of the C<E<gt>> expression, but the operand
713 of the C<@>)
714 L<[perl #72090]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72090>.
715
716 =item *
717
718 C<require> no longer causes C<caller> to return the wrong file name for
719 the scope that called C<require> and other scopes higher up that had the
720 same file name
721 L<[perl #68712]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=68712>.
722
723 =item *
724
725 The ref types in the typemap for XS bindings now support magical variables
726 L<[perl #72684]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72684>.
727
728 =item *
729
730 Match variables (e.g., C<$1>) no longer persist between calls to a sort
731 subroutine
732 L<[perl #76026]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=76026>.
733
734 =item *
735
736 The C<B> module was returning B::OPs instead of B::LOGOPs for C<entertry>
737 L<[perl #80622]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=80622>.
738
739 This was due to a bug in the perl core, not in C<B> itself.
740
741 =item *
742
743 Some numeric operators were converting integers to floating point,
744 resulting in loss of precision on 64-bit platforms
745 L<[perl #77456]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77456>.
746
747 =item *
748
749 The fallback behaviour of overloading on binary operators was asymmetric
750 L<[perl #71286]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=71286>.
751
752 =back
753
754 =head1 Known Problems
755
756 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
757 tests that had to be C<TODO>ed for the release would be noted here, unless
758 they were specific to a particular platform (see below).
759
760 This is a list of some significant unfixed bugs, which are regressions
761 from either 5.XXX.XXX or 5.XXX.XXX.
762
763 [ List each fix as a =item entry ]
764
765 =over 4
766
767 =item *
768
769 XXX
770
771 =back
772
773 =head1 Obituary
774
775 XXX If any significant core contributor has died, we've added a short obituary
776 here.
777
778 =head1 Acknowledgements
779
780 XXX The list of people to thank goes here.
781
782 =head1 Reporting Bugs
783
784 If you find what you think is a bug, you might check the articles
785 recently posted to the comp.lang.perl.misc newsgroup and the perl
786 bug database at http://rt.perl.org/perlbug/ .  There may also be
787 information at http://www.perl.org/ , the Perl Home Page.
788
789 If you believe you have an unreported bug, please run the L<perlbug>
790 program included with your release.  Be sure to trim your bug down
791 to a tiny but sufficient test case.  Your bug report, along with the
792 output of C<perl -V>, will be sent off to perlbug@perl.org to be
793 analysed by the Perl porting team.
794
795 If the bug you are reporting has security implications, which make it
796 inappropriate to send to a publicly archived mailing list, then please send
797 it to perl5-security-report@perl.org. This points to a closed subscription
798 unarchived mailing list, which includes all the core committers, who be able
799 to help assess the impact of issues, figure out a resolution, and help
800 co-ordinate the release of patches to mitigate or fix the problem across all
801 platforms on which Perl is supported. Please only use this address for
802 security issues in the Perl core, not for modules independently
803 distributed on CPAN.
804
805 =head1 SEE ALSO
806
807 The F<Changes> file for an explanation of how to view exhaustive details
808 on what changed.
809
810 The F<INSTALL> file for how to build Perl.
811
812 The F<README> file for general stuff.
813
814 The F<Artistic> and F<Copying> files for copyright information.
815
816 =cut