This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta for 2384afee9 / #123553
[perl5.git] / pod / perl5214delta.pod
CommitLineData
8c8d6154
SH
1=encoding utf8
2
3=head1 NAME
4
5perl5214delta - what is new for perl v5.21.4
6
7=head1 DESCRIPTION
8
9This document describes differences between the 5.21.3 release and the 5.21.4
10release.
11
12If you are upgrading from an earlier release such as 5.21.2, first read
13L<perl5213delta>, which describes differences between 5.21.2 and 5.21.3.
14
15=head1 Core Enhancements
16
17=head2 Infinity and NaN (not-a-number) handling improved
18
19Floating point values are able to hold the special values infinity (also
20-infinity), and NaN (not-a-number). Now we more robustly recognize and
21propagate the value in computations, and on output normalize them to C<Inf> and
22C<NaN>.
23
24See also the L<POSIX> enhancements.
25
9e5bcaec
JH
26=head1 Security
27
28=head2 Perl is now compiled with -fstack-protector-strong if available
29
30Perl has been compiled with the anti-stack-smashing option
31C<-fstack-protector> since 5.10.1. Now Perl uses the newer variant
32called C<-fstack-protector-strong>, if available.
33
8c8d6154
SH
34=head1 Incompatible Changes
35
36=head2 Changes to the C<*> prototype
37
38The C<*> character in a subroutine's prototype used to allow barewords to take
39precedence over most, but not all subroutines. It was never consistent and
40exhibited buggy behaviour.
41
42Now it has been changed, so subroutines always take precedence over barewords,
43which brings it into conformity with similarly prototyped built-in functions:
44
62c2e3c5 45 sub splat(*) { ... }
8c8d6154
SH
46 sub foo { ... }
47 splat(foo); # now always splat(foo())
48 splat(bar); # still splat('bar') as before
49 close(foo); # close(foo())
50 close(bar); # close('bar')
51
52=head1 Performance Enhancements
53
54=over 4
55
56=item *
57
58Subroutines with an empty prototype and bodies containing just C<undef> are now
59eligible for inlining.
60L<[perl #122728]|https://rt.perl.org/Ticket/Display.html?id=122728>
61
62=item *
63
64Subroutines in packages no longer need to carry typeglobs around with them.
65Declaring a subroutine will now put a simple sub reference in the stash if
66possible, saving memory. The typeglobs still notionally exist, so accessing
67them will cause the subroutine reference to be upgraded to a typeglob. This
68optimization does not currently apply to XSUBs or exported subroutines, and
69method calls will undo it, since they cache things in typeglobs.
70L<[perl #120441]|https://rt.perl.org/Ticket/Display.html?id=120441>
71
72=back
73
74=head1 Modules and Pragmata
75
76=head2 New Modules and Pragmata
77
78=over 4
79
80=item *
81
82L<B::Op_private> provides detailed information about the flags used in the
83C<op_private> field of perl opcodes.
84
85=back
86
87=head2 Updated Modules and Pragmata
88
89=over 4
90
91=item *
92
93L<Archive::Tar> has been upgraded from version 2.00 to 2.02.
94
95Tests can now be run in parallel.
96
97=item *
98
99L<Attribute::Handlers> has been upgraded from version 0.96 to 0.97.
100
101Internal changes to account for the fact that subroutines in packages no longer
102need to carry typeglobs around with them (see under L</Performance
103Enhancements>).
104
105=item *
106
107L<attributes> has been upgraded from version 0.22 to 0.23.
108
109The usage of C<memEQs> in the XS has been corrected.
110L<[perl #122701]|https://rt.perl.org/Ticket/Display.html?id=122701>
111
112=item *
113
114L<B> has been upgraded from version 1.50 to 1.51.
115
116It provides a new C<B::safename> function, based on the existing
117C<< B::GV->SAFENAME >>, that converts "\cOPEN" to "^OPEN".
118
119=item *
120
121L<B::Concise> has been upgraded from version 0.992 to 0.993.
122
123Internal changes to account for the fact that the defines and labels for the
124flags in the C<op_private> field of OPs are now auto-generated (see under
125L</Internal Changes>).
126
127=item *
128
129L<B::Deparse> has been upgraded from version 1.27 to 1.28.
130
131It now deparses C<our(I<LIST>)> and typed lexical (C<my Dog $spot>) correctly.
132
133=item *
134
135L<bignum> has been upgraded from version 0.37 to 0.38.
136
137An C<eval BLOCK> rather than an C<eval EXPR> is now used to see if we can find
138Math::BigInt::Lite.
139
140=item *
141
142L<constant> has been upgraded from version 1.31 to 1.32.
143
144It now accepts fully-qualified constant names, allowing constants to be defined
145in packages other than the caller.
146
147=item *
148
149L<CPAN::Meta::Requirements> has been upgraded from version 2.126 to 2.128.
150
151Works around limitations in version::vpp detecting v-string magic and adds
152support for forthcoming L<ExtUtils::MakeMaker> bootstrap F<version.pm> for
153Perls older than 5.10.0.
154
155=item *
156
157L<Data::Dumper> has been upgraded from version 2.152 to 2.154.
158
159Fixes CVE-2014-4330 by adding a configuration variable/option to limit
160recursion when dumping deep data structures.
161
162=item *
163
164L<experimental> has been upgraded from version 0.008 to 0.010.
165
166Hardcodes features for Perls older than 5.15.7.
167
168=item *
169
170L<ExtUtils::CBuilder> has been upgraded from version 0.280217 to 0.280219.
171
172Fixes a regression on Android.
173L<[perl #122675]|https://rt.perl.org/Ticket/Display.html?id=122675>
174
175=item *
176
177L<ExtUtils::Install> has been upgraded from version 1.68 to 2.04.
178
179No changes to installed files other than version bumps.
180
181=item *
182
183L<ExtUtils::Manifest> has been upgraded from version 1.65 to 1.68.
184
185Fixes a bug with C<maniread()>'s handling of quoted filenames and improves
186C<manifind()> to follow symlinks.
187L<[perl #122415]|https://rt.perl.org/Ticket/Display.html?id=122415>
188
189=item *
190
191L<File::Find> has been upgraded from version 1.27 to 1.28.
192
193C<find()> and C<finddepth()> will now warn if passed inappropriate or
194misspelled options.
195
196=item *
197
198L<Getopt::Std> has been upgraded from version 1.10 to 1.11.
199
200Corrects a typo in the documentation.
201
202=item *
203
204L<HTTP::Tiny> has been upgraded from version 0.047 to 0.049.
205
206C<keep_alive> is now fork-safe and thread-safe.
207
208=item *
209
210L<IO> has been upgraded from version 1.33 to 1.34.
211
212The XS implementation has been fixed for the sake of older Perls.
213
214=item *
215
216L<IO::Socket::IP> has been upgraded from version 0.31 to 0.32.
217
218Implements Timeout for C<connect()>.
219L<[cpan #92075]|https://rt.cpan.org/Ticket/Display.html?id=92075>
220
221=item *
222
223L<Locale::Codes> has been upgraded from version 3.31 to 3.32.
224
225New codes have been added.
226
227=item *
228
229L<Math::BigInt> has been upgraded from version 1.9996 to 1.9997.
230
231The documentation now gives test examples using L<Test::More> rather than
232L<Test>.
233
234=item *
235
236L<Module::CoreList> has been upgraded from version 5.021003 to 5.20140920.
237
238Updated to cover the latest releases of Perl.
239
240=item *
241
242L<overload> has been upgraded from version 1.22 to 1.23.
243
244A redundant C<ref $sub> check has been removed.
245
246=item *
247
248PathTools has been upgraded from version 3.49 to 3.50.
249
250A warning from the B<gcc> compiler is now avoided when building the XS.
251
252=item *
253
254L<Pod::Perldoc> has been upgraded from version 3.23 to 3.24.
255
256Filehandles opened for reading or writing now have C<:encoding(UTF-8)> set.
257L<[cpan #98019]|https://rt.cpan.org/Ticket/Display.html?id=98019>
258
259=item *
260
261L<POSIX> has been upgraded from version 1.42 to 1.43.
262
263The C99 math functions and constants (for example acosh, isinf, isnan, round,
264trunc; M_E, M_SQRT2, M_PI) have been added.
265
266=item *
267
268Scalar-List-Utils has been upgraded from version 1.39 to 1.41.
269
270A new module, L<Sub::Util>, has been added, containing functions related to
271CODE refs, including C<subname> (inspired by Sub::Identity) and C<set_subname>
272(copied and renamed from Sub::Name).
273
274The use of C<GetMagic> in C<List::Util::reduce()> has also been fixed.
275L<[cpan #63211]|https://rt.cpan.org/Ticket/Display.html?id=63211>
276
277=item *
278
279L<Term::ReadLine> has been upgraded from version 1.14 to 1.15.
280
281Faster checks are now made first in some if-statements.
282
283=item *
284
285L<Test::Harness> has been upgraded from version 3.32 to 3.33.
286
287Various documentation fixes.
288
289=item *
290
291L<Test::Simple> has been upgraded from version 1.001003 to 1.001006.
292
293Various documentation fixes.
294
295=item *
296
297L<threads> has been upgraded from version 1.95 to 1.96.
298
299No changes to installed files other than version bumps.
300
301=item *
302
303L<Time::Piece> has been upgraded from version 1.27 to 1.29.
304
305When pretty printing negative Time::Seconds, the "minus" is no longer lost.
306
307=item *
308
309L<version> has been upgraded from version 0.9908 to 0.9909.
310
311Numerous changes. See the F<Changes> file in the CPAN distribution for
312details.
313
314=back
315
316=head1 Documentation
317
318=head2 Changes to Existing Documentation
319
320=head3 L<perlfunc>
321
322=over 4
323
324=item *
325
326Calling C<delete> or C<exists> on array values is now described as "strongly
327discouraged" rather than "deprecated".
328
329=back
330
331=head3 L<perlpolicy>
332
333=over 4
334
335=item *
336
337The conditions for marking an experimental feature as non-experimental are now
338set out.
339
340=back
341
342=head3 L<perlrecharclass>
343
344=over 4
345
346=item *
347
348The documentation of Bracketed Character Classes has been expanded to cover the
349improvements in C<qr/[\N{named sequence}]/> (see under L</Selected Bug Fixes>).
350
351=back
352
353=head3 L<perlsyn>
354
355=over 4
356
357=item *
358
359An ambiguity in the documentation of the Ellipsis statement has been corrected.
360L<[perl #122661]|https://rt.perl.org/Ticket/Display.html?id=122661>
361
362=back
363
364=head3 L<perlxs>
365
366=over 4
367
368=item *
369
370Added a discussion of locale issues in XS code.
371
372=back
373
374=head1 Diagnostics
375
376The following additions or changes have been made to diagnostic output,
377including warnings and fatal error messages. For the complete list of
378diagnostic messages, see L<perldiag>.
379
380=head2 New Diagnostics
381
382=head3 New Warnings
383
384=over 4
385
386=item *
387
388L<Character in 'C' format overflow in pack|perldiag/"Character in 'C' format overflow in pack">
389
390(W pack) You tried converting an infinity or not-a-number to an unsigned
391character, which makes no sense. Perl behaved as if you tried to pack 0xFF.
392
393=item *
394
395L<Character in 'c' format overflow in pack|perldiag/"Character in 'c' format overflow in pack">
396
397(W pack) You tried converting an infinity or not-a-number to a signed
398character, which makes no sense. Perl behaved as if you tried to pack 0xFF.
399
400=item *
401
402L<Invalid number (%f) in chr|perldiag/"Invalid number (%f) in chr">
403
404(W utf8) You passed an invalid number (like an infinity or not-a-number) to
405C<chr>. Those are not valid character numbers, so it returned the Unicode
406replacement character (U+FFFD).
407
408=back
409
410=head2 Changes to Existing Diagnostics
411
412=over 4
413
414=item *
415
416L<Global symbol "%s" requires explicit package name|perldiag/"Global symbol "%s" requires explicit package name (did you forget to declare "my %s"?)">
417
418This message has had '(did you forget to declare "my %s"?)' appended to it, to
419make it more helpful to new Perl programmers.
420L<[perl #121638]|https://rt.perl.org/Ticket/Display.html?id=121638>
421
422=item *
423
424L<\N{} in character class restricted to one character in regex; marked by S<<-- HERE> in mE<sol>%sE<sol>|perldiag/"\N{} in inverted character class or as a range end-point is restricted to one character in regex; marked by S<<-- HERE> in m/%s/">
425
426This message has had 'character class' changed to 'inverted character class or
427as a range end-point is' to reflect improvements in C<qr/[\N{named sequence}]/>
428(see under L</Selected Bug Fixes>).
429
430=item *
431
432L<panic: frexp|perldiag/"panic: frexp: %f">
433
434This message has had ': %f' appended to it, to show what the offending floating
435point number is.
436
437=back
438
439=head2 Diagnostic Removals
440
441=over 4
442
443=item *
444
445"Constant is not a FOO reference"
446
447Compile-time checking of constant dereferencing (e.g., C<< my_constant->() >>)
448has been removed, since it was not taking overloading into account.
449L<[perl #69456]|https://rt.perl.org/Ticket/Display.html?id=69456>
450L<[perl #122607]|https://rt.perl.org/Ticket/Display.html?id=122607>
451
452=item *
453
454"Ambiguous use of -foo resolved as -&foo()"
455
456There is actually no ambiguity here, and this impedes the use of negated
457constants; e.g., C<-Inf>.
458
459=back
460
461=head1 Configuration and Compilation
462
463=over 4
464
465=item *
466
467For long doubles (to get more precision and range for floating point numbers)
468one can now use the GCC quadmath library which implements the quadruple
469precision floating point numbers in x86 and ia64 platforms. See F<INSTALL> for
470details.
471
472=back
473
474=head1 Testing
475
476=over 4
477
478=item *
479
480A new test script, F<op/infnan.t>, has been added to test if Inf and NaN are
481working correctly. See L</Infinity and NaN (not-a-number) handling improved>.
482
483=item *
484
485A new test script, F<re/rt122747.t>, has been added to test that the fix for
486L<perl #122747|https://rt.perl.org/Ticket/Display.html?id=122747> is working.
487
488=back
489
490=head1 Internal Changes
491
492=over 4
493
494=item *
495
496C<save_re_context> no longer does anything and has been moved to F<mathoms.c>.
497
498=item *
499
500C<cv_name> is a new API function that can be passed a CV or GV. It returns an
501SV containing the name of the subroutine for use in diagnostics.
502L<[perl #116735]|https://rt.perl.org/Ticket/Display.html?id=116735>
503L<[perl #120441]|https://rt.perl.org/Ticket/Display.html?id=120441>
504
505=item *
506
507C<cv_set_call_checker_flags> is a new API function that works like
508C<cv_set_call_checker>, except that it allows the caller to specify whether the
509call checker requires a full GV for reporting the subroutine's name, or whether
510it could be passed a CV instead. Whatever value is passed will be acceptable
511to C<cv_name>. C<cv_set_call_checker> guarantees there will be a GV, but it
512may have to create one on the fly, which is inefficient.
513L<[perl #116735]|https://rt.perl.org/Ticket/Display.html?id=116735>
514
515=item *
516
517C<CvGV> (which is not part of the API) is now a more complex macro, which may
518call a function and reify a GV. For those cases where is has been used as a
519boolean, C<CvHASGV> has been added, which will return true for CVs that
520notionally have GVs, but without reifying the GV. C<CvGV> also returns a GV
521now for lexical subs.
522L<[perl #120441]|https://rt.perl.org/Ticket/Display.html?id=120441>
523
524=item *
525
526Added L<perlapi/sync_locale>. Changing the program's locale should be avoided
527by XS code. Nevertheless, certain non-Perl libraries called from XS, such as
528C<Gtk> do so. When this happens, Perl needs to be told that the locale has
529changed. Use this function to do so, before returning to Perl.
530
531=item *
532
533The defines and labels for the flags in the C<op_private> field of OPs are now
534auto-generated from data in F<regen/op_private>. The noticeable effect of this
535is that some of the flag output of C<Concise> might differ slightly, and the
536flag output of C<perl -Dx> may differ considerably (they both use the same set
537of labels now). Also in debugging builds, there is a new assert in
538C<op_free()> that checks that the op doesn't have any unrecognized flags set in
539C<op_private>.
540
541=back
542
543=head1 Selected Bug Fixes
544
545=over 4
546
547=item *
548
549Constant dereferencing now works correctly for typeglob constants. Previously
550the glob was stringified and its name looked up. Now the glob itself is used.
551L<[perl #69456]|https://rt.perl.org/Ticket/Display.html?id=69456>
552
553=item *
554
555When parsing a funny character ($ @ % &) followed by braces, the parser no
556longer tries to guess whether it is a block or a hash constructor (causing a
557syntax error when it guesses the latter), since it can only be a block.
558
559=item *
560
561C<undef $reference> now frees the referent immediately, instead of hanging on
562to it until the next statement.
563L<[perl #122556]|https://rt.perl.org/Ticket/Display.html?id=122556>
564
565=item *
566
567Various cases where the name of a sub is used (autoload, overloading, error
568messages) used to crash for lexical subs, but have been fixed.
569
570=item *
571
572Bareword lookup now tries to avoid vivifying packages if it turns out the
573bareword is not going to be a subroutine name.
574
575=item *
576
577Compilation of anonymous constants (e.g., C<sub () { 3 }>) no longer deletes
578any subroutine named C<__ANON__> in the current package. Not only was
579C<*__ANON__{CODE}> cleared, but there was a memory leak, too. This bug goes
580back to Perl 5.8.0.
581
582=item *
583
584Stub declarations like C<sub f;> and C<sub f ();> no longer wipe out constants
585of the same name declared by C<use constant>. This bug was introduced in Perl
5865.10.0.
587
588=item *
589
590Under some conditions a warning raised in compilation of regular expression
591patterns could be displayed multiple times. This is now fixed.
592
593=item *
594
595C<qr/[\N{named sequence}]/> now works properly in many instances. Some names
596known to C<\N{...}> refer to a sequence of multiple characters, instead of the
597usual single character. Bracketed character classes generally only match
598single characters, but now special handling has been added so that they can
599match named sequences, but not if the class is inverted or the sequence is
600specified as the beginning or end of a range. In these cases, the only
601behavior change from before is a slight rewording of the fatal error message
602given when this class is part of a C<?[...])> construct. When the C<[...]>
603stands alone, the same non-fatal warning as before is raised, and only the
604first character in the sequence is used, again just as before.
605
606=item *
607
608Tainted constants evaluated at compile time no longer cause unrelated
609statements to become tainted.
610L<[perl #122669]|https://rt.perl.org/Ticket/Display.html?id=122669>
611
612=item *
613
614C<open $$fh, ...>, which vivifies a handle with a name like "main::_GEN_0", was
615not giving the handle the right reference count, so a double free could happen.
616
617=item *
618
619When deciding that a bareword was a method name, the parser would get confused
620if an "our" sub with the same name existed, and look up the method in the
621package of the "our" sub, instead of the package of the invocant.
622
623=item *
624
625The parser no longer gets confused by C<\U=> within a double-quoted string. It
626used to produce a syntax error, but now compiles it correctly.
627L<[perl #80368]|https://rt.perl.org/Ticket/Display.html?id=80368>
628
629=item *
630
631It has always been the intention for the C<-B> and C<-T> file test operators to
632treat UTF-8 encoded files as text. (L<perlfunc|perlfunc/-X FILEHANDLE> has
633been updated to say this.) Previously, it was possible for some files to be
634considered UTF-8 that actually weren't valid UTF-8. This is now fixed. The
635operators now work on EBCDIC platforms as well.
636
637=item *
638
639Under some conditions warning messages raised during regular expression pattern
640compilation were being output more than once. This has now been fixed.
641
642=item *
643
644A regression has been fixed that was introduced in Perl 5.20.0 (fixed in Perl
6455.20.1 as well as here) in which a UTF-8 encoded regular expression pattern
646that contains a single ASCII lowercase letter does not match its uppercase
647counterpart.
648L<[perl #122655]|https://rt.perl.org/Ticket/Display.html?id=122655>
649
650=item *
651
652Constant folding could incorrectly suppress warnings if lexical warnings (C<use
653warnings> or C<no warnings>) were not in effect and C<$^W> were false at
654compile time and true at run time.
655
656=item *
657
658Loading UTF8 tables during a regular expression match could cause assertion
659failures under debugging builds if the previous match used the very same
660regular expression.
661L<[perl #122747]|https://rt.perl.org/Ticket/Display.html?id=122747>
662
663=item *
664
665Thread cloning used to work incorrectly for lexical subs, possibly causing
666crashes or double frees on exit.
667
668=item *
669
670Since Perl 5.14.0, deleting C<$SomePackage::{__ANON__}> and then undefining an
671anonymous subroutine could corrupt things internally, resulting in
672L<Devel::Peek> crashing or L<B.pm|B> giving nonsensical data. This has been
673fixed.
674
675=item *
676
677C<(caller $n)[3]> now reports names of lexical subs, instead of treating them
678as "(unknown)".
679
680=item *
681
682C<sort subname LIST> now supports lexical subs for the comparison routine.
683
684=item *
685
686Aliasing (e.g., via C<*x = *y>) could confuse list assignments that mention the
687two names for the same variable on either side, causing wrong values to be
688assigned.
689L<[perl #15667]|https://rt.perl.org/Ticket/Display.html?id=15667>
690
691=item *
692
693Long here-doc terminators could cause a bad read on short lines of input. This
694has been fixed. It is doubtful that any crash could have occurred. This bug
695goes back to when here-docs were introduced in Perl 3.000 twenty-five years
696ago.
697
698=item *
699
700An optimization in C<split> to treat C<split/^/> like C<split/^/m> had the
701unfortunate side-effect of also treating C<split/\A/> like C<split/^/m>, which
702it should not. This has been fixed. (Note, however, that C<split/^x/> does
703not behave like C<split/^x/m>, which is also considered to be a bug and will be
704fixed in a future version.)
705L<[perl #122761]|https://rt.perl.org/Ticket/Display.html?id=122761>
706
707=item *
708
709The little-known C<my Class $var> syntax (see L<fields> and L<attributes>)
710could get confused in the scope of C<use utf8> if C<Class> were a constant
711whose value contained Latin-1 characters.
712
713=back
714
715=head1 Acknowledgements
716
717Perl 5.21.4 represents approximately 4 weeks of development since Perl 5.21.3
718and contains approximately 29,000 lines of changes across 520 files from 30
719authors.
720
721Excluding auto-generated files, documentation and release tools, there were
722approximately 15,000 lines of changes to 390 .pm, .t, .c and .h files.
723
724Perl continues to flourish into its third decade thanks to a vibrant community
725of users and developers. The following people are known to have contributed
726the improvements that became Perl 5.21.4:
727
728Alberto Simões, Alexandre (Midnite) Jousset, Andy Dougherty, Anthony Heading,
729Brian Fraser, Chris 'BinGOs' Williams, Craig A. Berry, Daniel Dragan, David
730Mitchell, Doug Bell, Father Chrysostomos, George Greer, H.Merijn Brand, James E
731Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Karen Etheridge, Karl Williamson,
732Olivier Mengué, Peter Martini, Reini Urban, Ricardo Signes, Steffen Müller,
733Steve Hay, Sullivan Beck, syber, Tadeusz Sośnierz, Tony Cook, Yves Orton,
734Ævar Arnfjörð Bjarmason.
735
736The list above is almost certainly incomplete as it is automatically generated
737from version control history. In particular, it does not include the names of
738the (very much appreciated) contributors who reported issues to the Perl bug
739tracker.
740
741Many of the changes included in this version originated in the CPAN modules
742included in Perl's core. We're grateful to the entire CPAN community for
743helping Perl to flourish.
744
745For a more complete list of all of Perl's historical contributors, please see
746the F<AUTHORS> file in the Perl source distribution.
747
748=head1 Reporting Bugs
749
750If you find what you think is a bug, you might check the articles recently
751posted to the comp.lang.perl.misc newsgroup and the perl bug database at
752https://rt.perl.org/ . There may also be information at
753http://www.perl.org/ , the Perl Home Page.
754
755If you believe you have an unreported bug, please run the L<perlbug> program
756included with your release. Be sure to trim your bug down to a tiny but
757sufficient test case. Your bug report, along with the output of C<perl -V>,
758will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
759
760If the bug you are reporting has security implications, which make it
761inappropriate to send to a publicly archived mailing list, then please send it
762to perl5-security-report@perl.org. This points to a closed subscription
763unarchived mailing list, which includes all the core committers, who will be
764able to help assess the impact of issues, figure out a resolution, and help
765co-ordinate the release of patches to mitigate or fix the problem across all
766platforms on which Perl is supported. Please only use this address for
767security issues in the Perl core, not for modules independently distributed on
768CPAN.
769
770=head1 SEE ALSO
771
772The F<Changes> file for an explanation of how to view exhaustive details on
773what changed.
774
775The F<INSTALL> file for how to build Perl.
776
777The F<README> file for general stuff.
778
779The F<Artistic> and F<Copying> files for copyright information.
780
781=cut