This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
8db7170022619e799244e4c9bdbf3259f2350ebe
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =for comment
4 This has been completed up to 0aae26c14, except for:
5 803e389 rurban  CYG17 utf8 paths
6 d9298c1 rurban  mymalloc isn't thread safe
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.15.8
14
15 =head1 DESCRIPTION
16
17 This document describes differences between the 5.15.7 release and
18 the 5.15.8 release.
19
20 If you are upgrading from an earlier release such as 5.15.6, first read
21 L<perl5157delta>, which describes differences between 5.15.6 and
22 5.15.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 Improved ability to mix locales and Unicode, including UTF-8 locales
37
38 An optional parameter has been added to C<use locale>
39
40  use locale ':not_characters';
41
42 which tells Perl to use all but the C<LC_CTYPE> and C<LC_COLLATE>
43 portions of the current locale.  Instead, the character set is assumed
44 to be Unicode.  This allows locales and Unicode to be seamlessly mixed,
45 including the increasingly frequent UTF-8 locales.  When using this
46 hybrid form of locales, the C<:locale> layer to the L<open> pragma can
47 be used to interface with the file system, and there are CPAN modules
48 available for ARGV and environment variable conversions.
49
50 Full details are in L<perllocale>.
51
52 =head2 New function C<fc> and corresponding escape sequence C<\F> for Unicode foldcase
53
54 Unicode foldcase is an extension to lowercase that gives better results
55 when comparing two strings case-insensitively.  It has long been used
56 internally in regular expression C</i> matching.  Now it is available
57 explicitly through the new C<fc> function call (enabled by
58 S<C<"use feature 'fc'">>, or C<use v5.16>, or explicitly callable via
59 C<CORE::fc>) or through the new C<\F> sequence in double-quotish
60 strings.
61
62 Full details are in L<perlfunc/fc>.
63
64 =head2 C<_> in subroutine prototypes
65
66 The C<_> character in subroutine prototypes is now allowed before C<@> or
67 C<%>.
68
69 =head2 Supports (I<almost>) Unicode 6.1
70
71 Besides the addition of whole new scripts, and new characters in
72 existing scripts, this new version of Unicode, as always, makes some
73 changes to existing characters.  One change that may trip up some
74 applications is that the General Category of two characters in the
75 Latin-1 range, PILCROW SIGN and SECTION SIGN, has been changed from
76 Other_Symbol to Other_Punctuation.  The same change has been made for
77 a character in each of Tibetan, Ethiopic, and Aegean.
78 The code points U+3248..U+324F (CIRCLED NUMBER TEN ON BLACK SQUARE
79 through CIRCLED NUMBER EIGHTY ON BLACK SQUARE) have had their General
80 Category changed from Other_Symbol to Other_Numeric.  The Line Break
81 property has changes for Hebrew and Japanese; and as a consequence of
82 other changes in 6.1, the Perl regular expression construct C<\X> now
83 works differently for some characters in Thai and Lao.
84
85 New aliases (synonyms) have been defined for many property values;
86 these, along with the previously existing ones, are all cross indexed in
87 L<perluniprops>.
88
89 The return value of C<charnames::viacode()> is affected by other
90 changes:
91
92  Code point      Old Name             New Name
93    U+000A    LINE FEED (LF)        LINE FEED
94    U+000C    FORM FEED (FF)        FORM FEED
95    U+000D    CARRIAGE RETURN (CR)  CARRIAGE RETURN
96    U+0085    NEXT LINE (NEL)       NEXT LINE
97    U+008E    SINGLE-SHIFT 2        SINGLE-SHIFT-2
98    U+008F    SINGLE-SHIFT 3        SINGLE-SHIFT-3
99    U+0091    PRIVATE USE 1         PRIVATE USE-1
100    U+0092    PRIVATE USE 2         PRIVATE USE-2
101    U+2118    SCRIPT CAPITAL P      WEIERSTRASS ELLIPTIC FUNCTION
102
103 Perl will accept any of these names as input, but
104 C<charnames::viacode()> now returns the new name of each pair.  The
105 change for U+2118 is considered by Unicode to be a correction, that is
106 the original name was a mistake (but again, it will remain forever valid
107 to use it to refer to U+2118).  But most of these changes are the
108 fallout of the mistake Unicode 6.0 made in naming a character used in
109 Japanese cell phones to be "BELL", which conflicts with the long
110 standing industry use of (and Unicode's recommendation to use) that name
111 to mean the ASCII control character at U+0007.  As a result, that name
112 has been deprecated in Perl since v5.14; and any use of it will raise a
113 warning message (unless turned off).  The name "ALERT" is now the
114 preferred name for this code point, with "BEL" being an acceptable short
115 form.  The name for the new cell phone character, at code point U+1F514,
116 remains undefined in this version of Perl (hence we don't quite
117 implement all of Unicode 6.1), but starting in v5.18, BELL will mean
118 this character, and not U+0007.
119
120 Unicode has taken steps to make sure that this sort of mistake does not
121 happen again.  The Standard now includes all the generally accepted
122 names and abbreviations for control characters, whereas previously it
123 didn't (though there were recommended names for most of them, which Perl
124 used).  This means that most of those recommended names are now
125 officially in the Standard.  Unicode did not recommend names for the
126 four code points listed above between U+008E and U+008F, and in
127 standardizing them Unicode subtly changed the names that Perl had
128 previously given them, by replacing the final blank in each name by a
129 hyphen.  Unicode also officially accepts names that Perl had deprecated,
130 such as FILE SEPARATOR.  Now the only deprecated name is BELL.
131 Finally, Perl now uses the new official names instead of the old
132 (now considered obsolete) names for the first four code points in the
133 list above (the ones which have the parentheses in them).
134
135 Now that the names have been placed in the Unicode standard, these kinds
136 of changes should not happen again, though corrections, such as to
137 U+2118, are still possible.
138
139 Unicode also added some name abbreviations, which Perl now accepts:
140 SP for SPACE;
141 TAB for CHARACTER TABULATION;
142 NEW LINE, END OF LINE, NL, and EOL for LINE FEED;
143 LOCKING-SHIFT ONE for SHIFT OUT;
144 LOCKING-SHIFT ZERO for SHIFT IN;
145 and ZWNBSP for ZERO WIDTH NO-BREAK SPACE.
146
147 More details on this version of Unicode are provided in
148 L<http://www.unicode.org/versions/Unicode6.1.0/>.
149
150 =head2 Added C<is_utf8_char_buf()>
151
152 This function is designed to replace the deprecated L</is_utf8_char()>
153 function.  It includes an extra parameter to make sure it doesn't read
154 past the end of the input buffer.
155
156 =head1 Security
157
158 XXX Any security-related notices go here.  In particular, any security
159 vulnerabilities closed should be noted here rather than in the
160 L</Selected Bug Fixes> section.
161
162 [ List each security issue as a =head2 entry ]
163
164 =head2 Use C<is_utf8_char_buf()> and not C<is_utf8_char()>
165
166 The latter function is now deprecated because its API is insufficient to
167 guarantee that it doesn't read (up to 12 bytes in the worst case) beyond
168 the end of its input string.  See
169 L<is_utf8_char_buf()|/Added is_utf8_char_buf()>.
170
171 =head1 Incompatible Changes
172
173 XXX For a release on a stable branch, this section aspires to be:
174
175     There are no changes intentionally incompatible with 5.XXX.XXX
176     If any exist, they are bugs, and we request that you submit a
177     report.  See L</Reporting Bugs> below.
178
179 [ List each incompatible change as a =head2 entry ]
180
181 =head2 Special blocks called in void context
182
183 Special blocks (C<BEGIN>, C<CHECK>, C<INIT>, C<UNITCHECK>, C<END>) are now
184 called in void context.  This avoids wasteful copying of the result of the
185 last statement [perl #108794].
186
187 =head2 The C<overloading> pragma and regexp objects
188
189 With C<no overloading>, regular expression objects returned by C<qr//> are
190 now stringified as "Regexp=REGEXP(0xbe600d)" instead of the regular
191 expression itself [perl #108780].
192
193 =head2 Two XS typemap Entries removed
194
195 Two presumably unused XS typemap entries have been removed from the
196 core typemap: T_DATAUNIT and T_CALLBACK. If you are, against all odds,
197 a user of these, please see the instructions on how to regain them
198 in L<perlxstypemap>.
199
200 =head2 Unicode 6.1 has incompatibilities with Unicode 6.0
201
202 These are detailed in L</Supports (almost) Unicode 6.1> above.
203
204 =head2 Changed returns for some properties in C<Unicode::UCD::prop_invmap()>
205
206 The return values for C<prop_invmap> have been changed for some
207 properties to make the returned lists significantly smaller.  This
208 allows those lists to be searched faster.
209
210 This function was introduced earlier in the v5.15 series of releases,
211 and the API will not be considered stable until v5.16.
212
213 See L<Unicode::UCD/prop_invmap()> for details on the new interface.
214
215 =head2 C<$$> and C<getppid()> no longer emulate POSIX semantics under LinuxThreads
216
217 The POSIX emulation of C<$$> and C<getppid()> under the obsolete
218 LinuxThreads implementation has been removed (the C<$$> emulation was
219 actually removed in v5.15.0). This only impacts users of Linux 2.4 and
220 users of Debian GNU/kFreeBSD up to and including 6.0, not the vast
221 majority of Linux installations that use NPTL threads.
222
223 This means that C<getppid()> like C<$$> is now always guaranteed to
224 return the OS's idea of the current state of the process, not perl's
225 cached version of it.
226
227 See the documentation for L<$$|perlvar/$$> for details.
228
229 =head2 Which Non-ASCII characters get quoted by C<quotemeta> and C<\Q> has changed
230
231 This is unlikely to result in a real problem, as Perl does not attach
232 special meaning to any non-ASCII character, so it is currently
233 irrelevant which are quoted or not.  This change fixes bug [perl #77654] and
234 bring Perl's behavior more into line with Unicode's recommendations.
235 See L<perlfunc/quotemeta>.
236
237 =head1 Deprecations
238
239 XXX Any deprecated features, syntax, modules etc. should be listed here.
240 In particular, deprecated modules should be listed here even if they are
241 listed as an updated module in the L</Modules and Pragmata> section.
242
243 [ List each deprecation as a =head2 entry ]
244
245 =head2 C<is_utf8_char()>
246
247 This function is deprecated because it could read beyond the end of the
248 input string.  Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>
249 instead.
250
251 =head1 Performance Enhancements
252
253 XXX Changes which enhance performance without changing behaviour go here. There
254 may well be none in a stable release.
255
256 [ List each enhancement as a =item entry ]
257
258 =over 4
259
260 =item *
261
262 XXX
263
264 =back
265
266 =head1 Modules and Pragmata
267
268 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
269 go here.  If Module::CoreList is updated, generate an initial draft of the
270 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
271 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
272 below.  A paragraph summary for important changes should then be added by hand.
273 In an ideal world, dual-life modules would have a F<Changes> file that could be
274 cribbed.
275
276 [ Within each section, list entries as a =item entry ]
277
278 =head2 New Modules and Pragmata
279
280 =over 4
281
282 =item *
283
284 The C<mmap> PerlIO layer is no longer implemented by perl itself, but has
285 been moved out into the new L<PerlIO::mmap> module.
286
287 =back
288
289 =head2 Updated Modules and Pragmata
290
291 =over 4
292
293 =item *
294
295 L<arybase> has been upgraded from version 0.03 to version 0.04.
296
297 List slices no longer modify items on the stack belonging to outer lists
298 [perl #109570].
299
300 =item *
301
302 L<B> has been upgraded from version 1.33 to version 1.34.
303
304 C<B::COP> now has a C<stashflags> method, corresponding to a new internal
305 field added in 5.15.4 [perl #108860].
306
307 =item *
308
309 L<Carp> has been upgraded from version 1.24 to version 1.25.
310
311 It now puts a dot after the file and line number, just like errors from
312 C<die> [perl #106538].
313
314 =item *
315
316 L<Compress::Raw::Bzip2> has been upgraded from version 2.045 to version 2.048.
317
318 =item *
319
320 L<Compress::Raw::Zlib> has been upgraded from version 2.045 to version 2.048.
321
322 =item *
323
324 L<Compress::Zlib> has been upgraded from version 2.046 to version 2.048.
325
326 =item *
327
328 L<CPAN::Meta> has been upgraded from version 2.113640 to version 2.120351.
329
330 Work around a memory leak bug involving version objects in boolean context.
331
332 =item *
333
334 L<CPAN::Meta::YAML> has been upgraded from version 0.005 to version 0.007.
335
336 =item *
337
338 L<CPANPLUS> has been upgraded from version 0.9116 to version 0.9118.
339
340 =item *
341
342 L<CPANPLUS::Dist::Build> has been upgraded from version 0.60 to version 0.62.
343
344 =item *
345
346 L<DB_File> has been upgraded from version 1.824 to version 1.826.
347
348 =item *
349
350 L<diagnostics> has been upgraded from version 1.27 to version 1.28.
351
352 When searching for F<perldiag.pod>, it no longer uses paths that were only
353 relevant on Perl 5.004 and earlier.
354
355 =item *
356
357 L<ExtUtils::ParseXS> has been upgraded from version 3.12 to version 3.15.
358
359 The new version comes with important tools for sharing typemaps between
360 different CPAN distributions.
361
362 =item *
363
364 L<File::Copy> has been upgraded from version 2.21 to version 2.23.
365
366 It no longer emits warnings when copying files with newlines in their names
367 [perl #109104].
368
369 =item *
370
371 L<IPC::Cmd> has been upgraded from version 0.72 to version 0.76.
372
373 =item *
374
375 L<Math::Complex> has been upgraded from version 1.58 to version 1.59.
376
377 This avoids a new core warning.
378
379 =item *
380
381 L<Module::Metadata> has been upgraded from version 1.000007 to version 1.000009.
382
383 Adds C<provides> method to generate a CPAN META provides data structure
384 correctly; use of C<package_versions_from_directory> is discouraged.
385
386 =item *
387
388 L<Parse::CPAN::Meta> has been upgraded from version 1.4401 to version 1.4402.
389
390 =item *
391
392 L<Pod::Functions> has been upgraded from version 1.04 to version 1.05.
393
394 F<Functions.pm> is now generated at perl build time from annotations in
395 F<perlfunc.pod>. This will ensure that L<Pod::Functions> and L<perlfunc>
396 remain in synchronisation.
397
398 =item *
399
400 L<Pod::Parser> has been upgraded from version 1.37 to version 1.51.
401
402 =item *
403
404 L<Term::ReadLine> has been upgraded from version 1.07 to version 1.08.
405
406 Its C<tkRunning> method now supports L<AnyEvent> event loops, and not just
407 L<Tk>.  A more general mechanism has been proposed, so this may be reverted
408 before Perl 5.16 [perl #108470].
409
410 =item *
411
412 L<Socket> has been upgraded from version 1.97 to version 1.98.
413
414 =item *
415
416 L<Time::HiRes>  has been upgraded from version 1.9724 to version 1.9725.
417
418 C<Time::HiRes::stat()> no longer corrupts the Perl stack.
419
420 =item *
421
422 L<Unicode::UCD> has been upgraded from version 0.39 to 0.40.
423
424 The only change is to fix a formatting error in the Pod.
425
426 =item *
427
428 L<Version::Requirements> has been upgraded from version 0.101021 to version 0.101022.
429
430 =back
431
432 =head2 Removed Modules and Pragmata
433
434 =over 4
435
436 =item *
437
438 F<t/porting/perlfunc.t> has been added, to test that changes to
439 F<pod/perlfunc.pod> do not inadvertently break the build of L<Pod::Functions>.
440
441 =back
442
443 =head1 Documentation
444
445 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
446 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
447
448 =head2 New Documentation
449
450 XXX Changes which create B<new> files in F<pod/> go here.
451
452 =head3 L<perlxstypemap>
453
454 The new manual describes the XS typemapping mechanism in unprecedented
455 detail and combines new documentation with information extracted from
456 L<perlxs> and the previously unofficial list of all core typemaps.
457
458 =head3 L<XXX>
459
460 XXX Description of the purpose of the new file here
461
462 =head2 Changes to Existing Documentation
463
464 XXX Changes which significantly change existing files in F<pod/> go here.
465 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
466 section.
467
468 =head3 L<XXX>
469
470 =over 4
471
472 =item *
473
474 XXX Description of the change here
475
476 =back
477
478 =head1 Diagnostics
479
480 The following additions or changes have been made to diagnostic output,
481 including warnings and fatal error messages.  For the complete list of
482 diagnostic messages, see L<perldiag>.
483
484 XXX New or changed warnings emitted by the core's C<C> code go here. Also
485 include any changes in L<perldiag> that reconcile it to the C<C> code.
486
487 [ Within each section, list entries as a =item entry that links to perldiag,
488   e.g.
489
490   =item *
491
492   L<Invalid version object|perldiag/"Invalid version object">
493 ]
494
495 =head2 New Diagnostics
496
497 XXX Newly added diagnostic messages go here
498
499 =head3 New Errors
500
501 =over 4
502
503 =item *
504
505 XXX L<message|perldiag/"message">
506
507 =back
508
509 =head3 New Warnings
510
511 =over 4
512
513 =item *
514
515 XXX L<message|perldiag/"message">
516
517 =back
518
519 =head2 Changes to Existing Diagnostics
520
521 XXX Changes (i.e. rewording) of diagnostic messages go here
522
523 =over 4
524
525 =item *
526
527 XXX Describe change here
528
529 =back
530
531 =head1 Utility Changes
532
533 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
534 here. Most of these are built within the directories F<utils> and F<x2p>.
535
536 [ List utility changes as a =head3 entry for each utility and =item
537 entries for each change
538 Use L<XXX> with program names to get proper documentation linking. ]
539
540 =head3 L<XXX>
541
542 =over 4
543
544 =item *
545
546 XXX
547
548 =back
549
550 =head1 Configuration and Compilation
551
552 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
553 go here.  Any other changes to the Perl build process should be listed here.
554 However, any platform-specific changes should be listed in the
555 L</Platform Support> section, instead.
556
557 [ List changes as a =item entry ].
558
559 =over 4
560
561 =item *
562
563 XXX
564
565 =back
566
567 =head1 Testing
568
569 XXX Any significant changes to the testing of a freshly built perl should be
570 listed here.  Changes which create B<new> files in F<t/> go here as do any
571 large changes to the testing harness (e.g. when parallel testing was added).
572 Changes to existing files in F<t/> aren't worth summarising, although the bugs
573 that they represent may be covered elsewhere.
574
575 [ List each test improvement as a =item entry ]
576
577 =over 4
578
579 =item *
580
581 XXX
582
583 =item *
584
585 The test suite for typemaps has been extended to cover a larger fraction of
586 the core typemaps.
587
588 =back
589
590 =head1 Platform Support
591
592 XXX Any changes to platform support should be listed in the sections below.
593
594 [ Within the sections, list each platform as a =item entry with specific
595 changes as paragraphs below it. ]
596
597 =head2 New Platforms
598
599 XXX List any platforms that this version of perl compiles on, that previous
600 versions did not. These will either be enabled by new files in the F<hints/>
601 directories, or new subdirectories and F<README> files at the top level of the
602 source tree.
603
604 =over 4
605
606 =item XXX-some-platform
607
608 XXX
609
610 =back
611
612 =head2 Discontinued Platforms
613
614 XXX List any platforms that this version of perl no longer compiles on.
615
616 =over 4
617
618 =item XXX-some-platform
619
620 XXX
621
622 =back
623
624 =head2 Platform-Specific Notes
625
626 XXX List any changes for specific platforms. This could include configuration
627 and compilation changes or changes in portability/compatibility.  However,
628 changes within modules for platforms should generally be listed in the
629 L</Modules and Pragmata> section.
630
631 =over 4
632
633 =item XXX-some-platform
634
635 XXX
636
637 =back
638
639 =head1 Internal Changes
640
641 XXX Changes which affect the interface available to C<XS> code go here.
642 Other significant internal changes for future core maintainers should
643 be noted as well.
644
645 [ List each change as a =item entry ]
646
647 =over 4
648
649 =item *
650
651 XXX
652
653 =back
654
655 =head1 Selected Bug Fixes
656
657 XXX Important bug fixes in the core language are summarised here.
658 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
659 L</Modules and Pragmata>.
660
661 [ List each fix as a =item entry ]
662
663 =over 4
664
665 =item *
666
667 C<~~> now correctly handles the precedence of Any~~Object, and is not tricked
668 by an overloaded object on the left-hand side.
669
670 =item *
671
672 C<stat _> no longer warns about unopened filehandles [perl #71002].
673
674 =item *
675
676 C<stat> on an unopened filehandle now warns consistently, instead of
677 skipping the warning at times.
678
679 =item *
680
681 A change in an earlier 5.15 release caused warning hints to propagate into
682 C<do $file>.  This has been fixed [rt.cpan.org #72767].
683
684 =item *
685
686 Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up
687 after assigning C<${ qr// }> to a hash element and locking it with
688 L<Hash::Util>.  This could result in double frees, crashes or erratic
689 behaviour.
690
691 =item *
692
693 In 5.15.7, some typeglobs in the CORE namespace were made read-only by
694 mistake.  This has been fixed [rt.cpan.org #74289].
695
696 =item *
697
698 C<-t> now works when stacked with other filetest operators [perl #77388].
699
700 =item *
701
702 Stacked filetest operators now only call FETCH once on a tied argument.
703
704 =item *
705
706 C</.*/g> would sometimes refuse to match at the end of a string that ends
707 with "\n".  This has been fixed [perl #109206].
708
709 =item *
710
711 C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not
712 under a differing locale).  This fixes a regression introduced in 5.14
713 in which the first expression could match characters outside of ASCII,
714 such as the KELVIN SIGN.
715
716 =item *
717
718 Method calls whose arguments were all surrounded with C<my()> or C<our()>
719 (as in C<<$object->method(my($a,$b)) >>) used to force lvalue context on
720 the subroutine.  This would prevent lvalue methods from returning certain
721 values.  Due to lvalue fixes earlier in the 5.15.x series, it would also
722 prevent non-lvalue methods from being called [perl #109264].
723
724 =for comment
725 This bug I<did> affect earlier stable releases.  It is just the last
726 sentence that does not apply to 5.14.
727
728 =item *
729
730 The C<SvPVutf8> C function no longer tries to modify its argument,
731 resulting in errors [perl #108994].
732
733 =item *
734
735 C<SvPVutf8> now works properly with magical variables.
736
737 =item *
738
739 C<SvPVbyte> now works properly non-PVs.
740
741 =item *
742
743 C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under
744 C<use locale> when the platform supports that.  Previously, they used
745 the platform's native character set.
746
747 =item *
748
749 A regression introduced in 5.13.6 was fixed.  This involved an inverted
750 bracketed character class in a regular expression that consisted solely
751 of a Unicode property, that property wasn't getting inverted outside the
752 Latin1 range.
753
754 =item *
755
756 C<quotemeta> now quotes consistently the same non-ASCII characters under
757 C<use feature 'unicode_strings'>, regardless of whether the string is
758 encoded in UTF-8 or not, hence fixing the last vestiges (we hope) of the
759 infamous L<perlunicode/The "Unicode Bug">.  [perl #77654].
760
761 Which of these code points is quoted has changed, based on Unicode's
762 recommendations.  See L<perlfunc/quotemeta> for details.
763
764 =back
765
766 =head1 Known Problems
767
768 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
769 tests that had to be C<TODO>ed for the release would be noted here, unless
770 they were specific to a particular platform (see below).
771
772 This is a list of some significant unfixed bugs, which are regressions
773 from either 5.XXX.XXX or 5.XXX.XXX.
774
775 [ List each fix as a =item entry ]
776
777 =over 4
778
779 =item *
780
781 XXX
782
783 =back
784
785 =head1 Obituary
786
787 XXX If any significant core contributor has died, we've added a short obituary
788 here.
789
790 =head1 Acknowledgements
791
792 XXX Generate this with:
793
794   perl Porting/acknowledgements.pl v5.15.7..HEAD
795
796 =head1 Reporting Bugs
797
798 If you find what you think is a bug, you might check the articles
799 recently posted to the comp.lang.perl.misc newsgroup and the perl
800 bug database at http://rt.perl.org/perlbug/ .  There may also be
801 information at http://www.perl.org/ , the Perl Home Page.
802
803 If you believe you have an unreported bug, please run the L<perlbug>
804 program included with your release.  Be sure to trim your bug down
805 to a tiny but sufficient test case.  Your bug report, along with the
806 output of C<perl -V>, will be sent off to perlbug@perl.org to be
807 analysed by the Perl porting team.
808
809 If the bug you are reporting has security implications, which make it
810 inappropriate to send to a publicly archived mailing list, then please send
811 it to perl5-security-report@perl.org. This points to a closed subscription
812 unarchived mailing list, which includes
813 all the core committers, who will be able
814 to help assess the impact of issues, figure out a resolution, and help
815 co-ordinate the release of patches to mitigate or fix the problem across all
816 platforms on which Perl is supported. Please only use this address for
817 security issues in the Perl core, not for modules independently
818 distributed on CPAN.
819
820 =head1 SEE ALSO
821
822 The F<Changes> file for an explanation of how to view exhaustive details
823 on what changed.
824
825 The F<INSTALL> file for how to build Perl.
826
827 The F<README> file for general stuff.
828
829 The F<Artistic> and F<Copying> files for copyright information.
830
831 =cut