This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perldelta: Avoid ‘deprecated’ for non-deprecated module
[perl5.git] / pod / perldelta.pod
1 =encoding utf8
2
3 =head1 NAME
4
5 [ this is a template for a new perldelta file.  Any text flagged as XXX needs
6 to be processed before release. ]
7
8 perldelta - what is new for perl v5.27.7
9
10 =head1 DESCRIPTION
11
12 This document describes differences between the 5.27.6 release and the 5.27.7
13 release.
14
15 If you are upgrading from an earlier release such as 5.27.5, first read
16 L<perl5276delta>, which describes differences between 5.27.5 and 5.27.6.
17
18 =head1 Notice
19
20 XXX Any important notices here
21
22 =head1 Core Enhancements
23
24 XXX New core language features go here.  Summarize user-visible core language
25 enhancements.  Particularly prominent performance optimisations could go
26 here, but most should go in the L</Performance Enhancements> section.
27
28 [ List each enhancement as a =head2 entry ]
29
30 =head2  The C<sprintf> C<%j> format size modifier is now available with
31 pre-C99 compilers
32
33 The actual size used depends on the platform, so remains unportable.
34
35 =head1 Security
36
37 XXX Any security-related notices go here.  In particular, any security
38 vulnerabilities closed should be noted here rather than in the
39 L</Selected Bug Fixes> section.
40
41 [ List each security issue as a =head2 entry ]
42
43 =head1 Incompatible Changes
44
45 XXX For a release on a stable branch, this section aspires to be:
46
47     There are no changes intentionally incompatible with 5.XXX.XXX
48     If any exist, they are bugs, and we request that you submit a
49     report.  See L</Reporting Bugs> below.
50
51 [ List each incompatible change as a =head2 entry ]
52
53 =head2 Smartmatch and switch simplification
54
55 The experimental smart match operator (C<~~>) and switch
56 (C<given>/C<when>) constructs have been drastically simplified, in a
57 way that will require most uses of them to be updated.
58
59 The smart match operator no longer has its large table of matching rules.
60 Instead there is just one rule: the right-hand operand must overload
61 the operator.  Overloaded objects now bear the entire responsibility
62 for determining what kind of match to perform.  The operator also no
63 longer implicitly enreferences certain kinds of operand (such as arrays);
64 instead the operands get regular scalar context.
65
66 The C<when> construct no longer has its complicated rules about how
67 to treat its argument.  Instead it has been split into two distinct
68 constructs.  C<whereso> always uses the argument as a truth value,
69 and C<whereis> always smart matches.  Like the smart match operator,
70 these also no longer implicitly enreference certain kinds of argument,
71 instead supplying regular scalar context.
72
73 The C<default> construct, which was misleading and essentially useless,
74 has been removed.
75
76 The C<given> construct also no longer implicitly enreferences certain
77 kinds of arguments, instead supplying regular scalar context.  In this
78 case, the implicit enreferencement was undocumented anyway.
79
80 Flow control of switch constructs has been unified with loop flow
81 control.  The concept of "topicalizer" (referring to a C<given> block
82 or a C<foreach> loop acting on C<$_>) has been abolished.  A C<given>
83 construct now counts as a one-iteration loop, so responds to the loop
84 control keywords.  The C<break> keyword has consequently been removed,
85 in favour of using C<next> or C<last> to exit a C<given>.  The implicit
86 jump at the end of a C<when> block is now a C<next>, and so is applicable
87 not just to C<given> and some kinds of C<foreach> but to any loop.
88
89 It is known that these changes will break some users of L<autodie>,
90 the documentation of which has long recommended some uses of these
91 experimental features that are not portable across these changes.
92
93 =head2 Over-radix digits in floating point literals
94
95 Octal and binary floating point literals used to permit any hexadecimal
96 digit to appear after the radix point.  The digits are now restricted
97 to those appropriate for the radix, as digits before the radix point
98 always were.
99
100 =head2 Return type of C<unpackstring()>
101
102 The return types of the C API functions C<unpackstring()> and
103 C<unpack_str()> have changed from C<I32> to C<SSize_t>, in order to
104 accommodate datasets of more than two billion items.
105
106 =head1 Deprecations
107
108 XXX Any deprecated features, syntax, modules etc. should be listed here.
109
110 =head2 Assignment to C<$[> will be fatal in Perl 5.30
111
112 Assigning a non-zero value to L<C<$[>|perlvar/$[> has been deprecated
113 since Perl 5.12, but was never given a deadline for removal.  This has
114 now been scheduled for Perl 5.30.
115
116 =head2 hostname() won't accept arguments in Perl 5.32
117
118 Passing arguments to C<Sys::Hostname::hostname()> was already deprecated,
119 but didn't have a removal date.  This has now been scheduled for Perl
120 5.32.  [perl #124349]
121
122 =head2 Module removals
123
124 XXX Remove this section if not applicable.
125
126 The following modules will be removed from the core distribution in a
127 future release, and will at that time need to be installed from CPAN.
128 Distributions on CPAN which require these modules will need to list them as
129 prerequisites.
130
131 The core versions of these modules will now issue C<"deprecated">-category
132 warnings to alert you to this fact.  To silence these deprecation warnings,
133 install the modules in question from CPAN.
134
135 Note that these are (with rare exceptions) fine modules that you are encouraged
136 to continue to use.  Their disinclusion from core primarily hinges on their
137 necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
138 not usually on concerns over their design.
139
140 =over
141
142 =item L<Locale::Codes> and its associated Country, Currency and Language modules
143
144 XXX Note that deprecated modules should be listed here even if they are listed
145 as an updated module in the L</Modules and Pragmata> section.
146
147 =back
148
149 [ List each other deprecation as a =head2 entry ]
150
151 =head1 Performance Enhancements
152
153 XXX Changes which enhance performance without changing behaviour go here.
154 There may well be none in a stable release.
155
156 [ List each enhancement as an =item entry ]
157
158 =over 4
159
160 =item *
161
162 XXX
163
164 =back
165
166 =head1 Modules and Pragmata
167
168 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
169 go here.  If Module::CoreList is updated, generate an initial draft of the
170 following sections using F<Porting/corelist-perldelta.pl>.  A paragraph summary
171 for important changes should then be added by hand.  In an ideal world,
172 dual-life modules would have a F<Changes> file that could be cribbed.
173
174 The list of new and updated modules is modified automatically as part of
175 preparing a Perl release, so the only reason to manually add entries here is if
176 you're summarising the important changes in the module update. (Also, if the
177 manually-added details don't match the automatically-generated ones, the
178 release manager will have to investigate the situation carefully.)
179
180 [ Within each section, list entries as an =item entry ]
181
182 =head2 New Modules and Pragmata
183
184 =over 4
185
186 =item *
187
188 XXX Remove this section if not applicable.
189
190 =back
191
192 =head2 Updated Modules and Pragmata
193
194 =over 4
195
196 =item *
197
198 L<Data::Dumper> has been upgraded from version 2.167_02 to 2.169.
199 Quoting of glob names now obeys the Useqq option [perl #119831].
200 Attempts to set an option to C<undef> through a combined getter/setter
201 method are no longer mistaken for getter calls [perl #113090].
202
203 =item *
204
205 L<DynaLoader> has been upgraded from version 1.44 to 1.45.
206 Its documentation now shows the use of C<__PACKAGE__> and direct object
207 syntax [perl #132247].
208
209 =item *
210
211 L<GDBM_File> has been upgraded from version 1.16 to 1.17.
212 Its documentation now explains that C<each> and C<delete> don't mix in
213 hashes tied to this module [perl #117449].
214 It will now retry opening with an acceptable block size if asking gdbm
215 to default the block size failed [perl #119623].
216
217 =item *
218
219 L<threads> has been upgraded from version 2.19 to 2.20.
220 The documentation now better describes the problems that arise when
221 returning values from threads, and no longer warns about creating threads
222 in C<BEGIN> blocks.  [perl #96538]
223
224 =item *
225
226 L<Locale::Codes> has been upgraded from version 3.54 to 3.55
227
228 B<NOTE>: L<Locale::Codes> scheduled to be removed from core in Perl 5.30.
229
230 =item *
231
232 L<Pod::Html> has been upgraded from version 1.2203 to 1.23.
233 A title for the HTML document will now be automatically generated by
234 default from a "NAME" section in the POD document, as it used to be
235 before the module was rewritten to use L<Pod::Simple::XHTML> to do the
236 core of its job.  [perl #110520]
237
238 =item *
239
240 L<warnings> has been upgraded from version 1.38 to 1.39.
241 It now includes new functions with names ending in C<_at_level>, allowing
242 callers to specify the exact call frame.  [perl #132468]
243
244 =item *
245
246 L<XSLoader> has been upgraded from version 0.28 to 0.29.
247 Its documentation now shows the use of C<__PACKAGE__>, and direct object
248 syntax for example C<DynaLoader> usage [perl #132247].
249
250 =back
251
252 =head2 Removed Modules and Pragmata
253
254 =over 4
255
256 =item *
257
258 XXX
259
260 =back
261
262 =head1 Documentation
263
264 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
265 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
266
267 =head2 New Documentation
268
269 XXX Changes which create B<new> files in F<pod/> go here.
270
271 =head3 L<XXX>
272
273 XXX Description of the purpose of the new file here
274
275 =head2 Changes to Existing Documentation
276
277 We have attempted to update the documentation to reflect the changes
278 listed in this document.  If you find any we have missed, send email
279 to L<perlbug@perl.org|mailto:perlbug@perl.org>.
280
281 XXX Changes which significantly change existing files in F<pod/> go here.
282 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
283 section.
284
285 Additionally, the following selected changes have been made:
286
287 =head3 L<perlapi>
288
289 The API functions C<perl_parse()>, C<perl_run()>, and C<perl_destruct()>
290 are now documented comprehensively, where previously the only
291 documentation was a reference to the L<perlembed> tutorial.
292
293 The documentation of C<newGIVENOP()> has been belatedly updated to
294 account for the removal of lexical C<$_>.
295
296 The API functions C<newCONSTSUB()> and C<newCONSTSUB_flags()> are
297 documented much more comprehensively than before.
298
299 =head3 L<perlop>
300
301 The general explanation of operator precedence and associativity has
302 been corrected and clarified.  [perl #127391]
303
304 The documentation for the C<\> referencing operator now explains the
305 unusual context that it supplies to its operand.  [perl #131061]
306
307 =head3 L<perlsyn>
308
309 The means to disambiguate between code blocks and hash constructors,
310 already documented in L<perlref>, are now documented in L<perlsyn> too.
311 [perl #130958]
312
313 =head3 L<perlfunc>
314
315 There is now a note that warnings generated by built-in functions are
316 documented in L<perldiag> and L<warnings>.  [perl #116080]
317
318 The documentation for the C<exists> operator no longer says that
319 autovivification behaviour "may be fixed in a future release".
320 We've determined that we're not going to change the default behaviour.
321 [perl #127712]
322
323 A couple of small details in the documentation for the C<bless> operator
324 have been clarified.  [perl #124428]
325
326 The description of C<@INC> hooks in the documentation for C<require>
327 has been corrected to say that filter subroutines receive a useless
328 first argument.  [perl #115754]
329
330 The documentation of C<ref> has been rewritten for clarity.
331
332 The documentation of C<use> now explains what syntactically qualifies
333 as a version number for its module version checking feature.
334
335 The documentation of C<warn> has been updated to reflect that since Perl
336 5.14 it has treated complex exception objects in a manner equivalent
337 to C<die>.  [perl #121372]
338
339 The documentation of C<die> and C<warn> has been revised for clarity.
340
341 =head3 L<perluniprops>
342
343 For each binary table or property, the documentation now includes which
344 characters in the range C<\x00-\xFF> it matches, as well as a list of
345 the first few ranges of code points matched above that.
346
347 =head3 L<perlobj>
348
349 The documentation about C<DESTROY> methods has been corrected, updated,
350 and revised, especially in regard to how they interact with exceptions.
351 [perl #122753]
352
353 =head3 L<perlsec>
354
355 The documentation about set-id scripts has been updated and revised.
356 [perl #74142]
357
358 A section about using C<sudo> to run Perl scripts has been added.
359
360 =head3 L<perlembed>
361
362 The examples in L<perlembed> have been made more portable in the way
363 they exit, and the example that gets an exit code from the embedded Perl
364 interpreter now gets it from the right place.  The examples that pass
365 a constructed argv to Perl now show the mandatory null C<argv[argc]>.
366
367 =head3 L<perldebguts>
368
369 The description of the conditions under which C<DB::sub()> will be called
370 has been clarified.  [perl #131672]
371
372 =head3 L<perlintern>
373
374 The internal functions C<newXS_len_flags()> and C<newATTRSUB_x()> are
375 now documented.
376
377 =head3 L<perlgit>
378
379 The precise rules for identifying C<smoke-me> branches are now stated.
380
381 =over 4
382
383 =item *
384
385 XXX Description of the change here
386
387 =back
388
389 =head1 Diagnostics
390
391 The following additions or changes have been made to diagnostic output,
392 including warnings and fatal error messages.  For the complete list of
393 diagnostic messages, see L<perldiag>.
394
395 XXX New or changed warnings emitted by the core's C<C> code go here.  Also
396 include any changes in L<perldiag> that reconcile it to the C<C> code.
397
398 =head2 New Diagnostics
399
400 XXX Newly added diagnostic messages go under here, separated into New Errors
401 and New Warnings
402
403 =head3 New Errors
404
405 =over 4
406
407 =item *
408
409 L<Can't "goto" into a "given" block|perldiag/"Can't E<quot>gotoE<quot> into a E<quot>givenE<quot> block">
410
411 (F) A "goto" statement was executed to jump into the middle of a C<given>
412 block.  You can't get there from here.  See L<perlfunc/goto>.
413
414 =back
415
416 =head3 New Warnings
417
418 =over 4
419
420 =item *
421
422 L<Old package separator used in string|perldiag/"Old package separator used in string">
423
424 (W syntax) You used the old package separator, "'", in a variable
425 named inside a double-quoted string; e.g., C<"In $name's house">.  This
426 is equivalent to C<"In $name::s house">.  If you meant the former, put
427 a backslash before the apostrophe (C<"In $name\'s house">).
428
429 =back
430
431 =head2 Changes to Existing Diagnostics
432
433 XXX Changes (i.e. rewording) of diagnostic messages go here
434
435 =over 4
436
437 =item *
438
439 XXX Describe change here
440
441 =item *
442
443 The warning about useless use of a concatenation operator in void context
444 is now generated for expressions with multiple concatenations, such as
445 C<$a.$b.$c>, which used to mistakenly not warn.  [perl #6997]
446
447 =item *
448
449 Warnings that a variable or subroutine "masks earlier declaration in same
450 ...", or that an C<our> variable has been redeclared, have been moved to a
451 new warnings category "shadow".  Previously they were in category "misc".
452
453 =item *
454
455 The deprecation warning from C<Sys::Hostname::hostname()> saying that
456 it doesn't accept arguments now states the Perl version in which the
457 warning will be upgraded to an error.  [perl #124349]
458
459 =item *
460
461 The L<perldiag> entry for the error regarding a set-id script has been
462 expanded to make clear that the error is reporting a specific security
463 vulnerability, and to advise how to fix it.
464
465 =back
466
467 =head1 Utility Changes
468
469 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
470 Most of these are built within the directory F<utils>.
471
472 [ List utility changes as a =head2 entry for each utility and =item
473 entries for each change
474 Use L<XXX> with program names to get proper documentation linking. ]
475
476 =head2 L<XXX>
477
478 =over 4
479
480 =item *
481
482 XXX
483
484 =back
485
486 =head1 Configuration and Compilation
487
488 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
489 go here.  Any other changes to the Perl build process should be listed here.
490 However, any platform-specific changes should be listed in the
491 L</Platform Support> section, instead.
492
493 [ List changes as an =item entry ].
494
495 =over 4
496
497 =item *
498
499 XXX
500
501 =item *
502
503 Where an HTML version of the doucmentation is installed, the HTML
504 documents now use relative links to refer to each other.  Links from
505 the index page of L<perlipc> to the individual section documents are
506 now correct.  [perl #110056]
507
508 =back
509
510 =head1 Testing
511
512 XXX Any significant changes to the testing of a freshly built perl should be
513 listed here.  Changes which create B<new> files in F<t/> go here as do any
514 large changes to the testing harness (e.g. when parallel testing was added).
515 Changes to existing files in F<t/> aren't worth summarizing, although the bugs
516 that they represent may be covered elsewhere.
517
518 XXX If there were no significant test changes, say this:
519
520 Tests were added and changed to reflect the other additions and changes
521 in this release.
522
523 XXX If instead there were significant changes, say this:
524
525 Tests were added and changed to reflect the other additions and
526 changes in this release.  Furthermore, these significant changes were
527 made:
528
529 [ List each test improvement as an =item entry ]
530
531 =over 4
532
533 =item *
534
535 XXX
536
537 =back
538
539 =head1 Platform Support
540
541 XXX Any changes to platform support should be listed in the sections below.
542
543 [ Within the sections, list each platform as an =item entry with specific
544 changes as paragraphs below it. ]
545
546 =head2 New Platforms
547
548 XXX List any platforms that this version of perl compiles on, that previous
549 versions did not.  These will either be enabled by new files in the F<hints/>
550 directories, or new subdirectories and F<README> files at the top level of the
551 source tree.
552
553 =over 4
554
555 =item XXX-some-platform
556
557 XXX
558
559 =back
560
561 =head2 Discontinued Platforms
562
563 XXX List any platforms that this version of perl no longer compiles on.
564
565 =over 4
566
567 =item XXX-some-platform
568
569 XXX
570
571 =back
572
573 =head2 Platform-Specific Notes
574
575 XXX List any changes for specific platforms.  This could include configuration
576 and compilation changes or changes in portability/compatibility.  However,
577 changes within modules for platforms should generally be listed in the
578 L</Modules and Pragmata> section.
579
580 =over 4
581
582 =item Windows
583
584 We now set C<$Config{libpth}> correctly for 64-bit builds using Visual C++
585 versions earlier than 14.1.
586
587 =back
588
589 =head1 Internal Changes
590
591 XXX Changes which affect the interface available to C<XS> code go here.  Other
592 significant internal changes for future core maintainers should be noted as
593 well.
594
595 =over 4
596
597 =item *
598
599 XS modules can now automatically get reentrant versions of system
600 functions on threaded perls.
601
602 By saying
603
604  #define PERL_REENTRANT
605
606 near the beginning of an C<XS> file, it will be compiled so that
607 whatever reentrant functions perl knows about on that system will
608 automatically and invisibly be used instead of the plain, non-reentrant
609 versions.  For example, if you write C<getpwnam()> in your code, on a
610 system that has C<pwnam_r()> all calls to the former will be translated
611 invisibly into the latter.  This does not happen except on threaded
612 perls, as they aren't needed otherwise.  Be aware that which functions
613 have reentrant versions varies from system to system.
614
615 =back
616
617 =head1 Selected Bug Fixes
618
619 XXX Important bug fixes in the core language are summarized here.  Bug fixes in
620 files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
621
622 [ List each fix as an =item entry ]
623
624 =over 4
625
626 =item *
627
628 XXX
629
630 =item *
631
632 C<pack> and C<unpack> can now handle repeat counts and lengths that
633 exceed two billion.  [perl #119367]
634
635 =item *
636
637 Digits past the radix point in octal and binary floating point literals
638 now have the correct weight on platforms where a floating point
639 significand doesn't fit into an integer type.
640
641 =item *
642
643 C<exit(0)> in a C<UNITCHECK> or C<CHECK> block no longer permits the
644 main program to run, and C<exit(0)> in a C<BEGIN> block no longer permits
645 C<INIT> blocks to run before exiting.  [perl #2754]
646
647 =item *
648
649 The canonical truth value no longer has a spurious special meaning as
650 a callable.  It used to be a magic placeholder for a missing C<import>
651 or C<unimport> method.  It is now treated like any other string C<1>.
652 [perl #126042]
653
654 =item *
655
656 C<system> now reduces its arguments to strings in the parent process, so
657 any effects of stringifying them (such as overload methods being called
658 or warnings being emitted) are visible in the way the program expects.
659 [perl #121105]
660
661 =item *
662
663 The C<readpipe()> built-in function now checks at compile time that
664 it has only one parameter expression, and puts it in scalar context,
665 thus ensuring that it doesn't corrupt the stack at runtime.  [perl #4574]
666
667 =item *
668
669 C<sort> now performs correct reference counting when aliasing C<$a> and
670 C<$b>, thus avoiding premature destruction and leakage of scalars if they
671 are re-aliased during execution of the sort comparator.  [perl #92264]
672
673 =item *
674
675 C<reverse> with no operand, reversing C<$_> by default, is no longer in
676 danger of corrupting the stack.  [perl #132544]
677
678 =item *
679
680 C<exec>, C<system>, et al are no longer liable to have their argument
681 lists corrupted by reentrant calls and by magic such as tied scalars.
682 [perl #129888]
683
684 =item *
685
686 Perl's own C<malloc> no longer gets confused by attempts to allocate
687 more than a gigabyte on a 64-bit platform.  [perl #119829]
688
689 =item *
690
691 Stacked file test operators in a sort comparator expression no longer
692 cause a crash.  [perl #129347]
693
694 =item *
695
696 An identity C<tr///> transformation on a reference is no longer mistaken
697 for that reference for the purposes of deciding whether it can be
698 assigned to.  [perl #130578]
699
700 =item *
701
702 Lengthy hexadecimal, octal, or binary floating point literals no
703 longer cause undefined behaviour when parsing digits that are of such
704 low significance that they can't affect the floating point value.
705 [perl #131894]
706
707 =item *
708
709 C<open $$scalarref...> and similar invocations no longer leak the file
710 handle.  [perl #115814]
711
712 =item *
713
714 Some convoluted kinds of regexp no longer cause an arithmetic overflow
715 when compiled.  [perl #131893]
716
717 =item *
718
719 The default typemap, by avoiding C<newGVgen>, now no longer leaks when
720 XSUBs return file handles (C<PerlIO *> or C<FILE *>).  [perl #115814]
721
722 =item *
723
724 Creating a C<BEGIN> block as an XS subroutine with a prototype no longer
725 crashes because of the early freeing of the subroutine.
726
727 =back
728
729 =head1 Known Problems
730
731 XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
732 tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
733 platform specific bugs also go here.
734
735 [ List each fix as an =item entry ]
736
737 =over 4
738
739 =item *
740
741 XXX
742
743 =back
744
745 =head1 Errata From Previous Releases
746
747 =over 4
748
749 =item *
750
751 XXX Add anything here that we forgot to add, or were mistaken about, in
752 the perldelta of a previous release.
753
754 =back
755
756 =head1 Obituary
757
758 XXX If any significant core contributor or member of the CPAN community has
759 died, add a short obituary here.
760
761 =head1 Acknowledgements
762
763 XXX Generate this with:
764
765   perl Porting/acknowledgements.pl v5.27.6..HEAD
766
767 =head1 Reporting Bugs
768
769 If you find what you think is a bug, you might check the perl bug database
770 at L<https://rt.perl.org/> .  There may also be information at
771 L<http://www.perl.org/> , the Perl Home Page.
772
773 If you believe you have an unreported bug, please run the L<perlbug> program
774 included with your release.  Be sure to trim your bug down to a tiny but
775 sufficient test case.  Your bug report, along with the output of C<perl -V>,
776 will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
777
778 If the bug you are reporting has security implications which make it
779 inappropriate to send to a publicly archived mailing list, then see
780 L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION>
781 for details of how to report the issue.
782
783 =head1 Give Thanks
784
785 If you wish to thank the Perl 5 Porters for the work we had done in Perl 5,
786 you can do so by running the C<perlthanks> program:
787
788     perlthanks
789
790 This will send an email to the Perl 5 Porters list with your show of thanks.
791
792 =head1 SEE ALSO
793
794 The F<Changes> file for an explanation of how to view exhaustive details on
795 what changed.
796
797 The F<INSTALL> file for how to build Perl.
798
799 The F<README> file for general stuff.
800
801 The F<Artistic> and F<Copying> files for copyright information.
802
803 =cut