This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
33b9af48ea5f3e8d05a4ca1de498616840aea0eb
[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 recommended names for the first four code points in the list above (the
133 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 =head1 Deprecations
216
217 XXX Any deprecated features, syntax, modules etc. should be listed here.
218 In particular, deprecated modules should be listed here even if they are
219 listed as an updated module in the L</Modules and Pragmata> section.
220
221 [ List each deprecation as a =head2 entry ]
222
223 =head2 C<is_utf8_char()>
224
225 This function is deprecated because it could read beyond the end of the
226 input string.  Use the new L<is_utf8_char_buf()|/Added is_utf8_char_buf()>
227 instead.
228
229 =head1 Performance Enhancements
230
231 XXX Changes which enhance performance without changing behaviour go here. There
232 may well be none in a stable release.
233
234 [ List each enhancement as a =item entry ]
235
236 =over 4
237
238 =item *
239
240 XXX
241
242 =back
243
244 =head1 Modules and Pragmata
245
246 XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
247 go here.  If Module::CoreList is updated, generate an initial draft of the
248 following sections using F<Porting/corelist-perldelta.pl>, which prints stub
249 entries to STDOUT.  Results can be pasted in place of the '=head2' entries
250 below.  A paragraph summary for important changes should then be added by hand.
251 In an ideal world, dual-life modules would have a F<Changes> file that could be
252 cribbed.
253
254 [ Within each section, list entries as a =item entry ]
255
256 =head2 New Modules and Pragmata
257
258 =over 4
259
260 =item *
261
262 The C<mmap> PerlIO layer is no longer implemented by perl itself, but has
263 been moved out into the new L<PerlIO::mmap> module.
264
265 =back
266
267 =head2 Updated Modules and Pragmata
268
269 =over 4
270
271 =item *
272
273 L<arybase> has been upgraded from version 0.03 to version 0.04.
274
275 List slices no longer modify items on the stack belonging to outer lists
276 [perl #109570].
277
278 =item *
279
280 L<B> has been upgraded from version 1.33 to version 1.34.
281
282 C<B::COP> now has a C<stashflags> method, corresponding to a new internal
283 field added in 5.15.4 [perl #108860].
284
285 =item *
286
287 L<Carp> has been upgraded from version 1.24 to version 1.25.
288
289 It now puts a dot after the file and line number, just like errors from
290 C<die> [perl #106538].
291
292 =item *
293
294 L<Compress::Raw::Bzip2> has been upgraded from version 2.045 to version 2.048.
295
296 =item *
297
298 L<Compress::Raw::Zlib> has been upgraded from version 2.045 to version 2.048.
299
300 =item *
301
302 L<Compress::Zlib> has been upgraded from version 2.046 to version 2.048.
303
304 =item *
305
306 L<CPAN::Meta> has been upgraded from version 2.113640 to version 2.120351.
307
308 Work around a memory leak bug involving version objects in boolean context.
309
310 =item *
311
312 L<CPAN::Meta::YAML> has been upgraded from version 0.005 to version 0.007.
313
314 =item *
315
316 L<CPANPLUS> has been upgraded from version 0.9116 to version 0.9118.
317
318 =item *
319
320 L<CPANPLUS::Dist::Build> has been upgraded from version 0.60 to version 0.62.
321
322 =item *
323
324 L<DB_File> has been upgraded from version 1.824 to version 1.826.
325
326 =item *
327
328 L<diagnostics> has been upgraded from version 1.27 to version 1.28.
329
330 When searching for F<perldiag.pod>, it no longer uses paths that were only
331 relevant on Perl 5.004 and earlier.
332
333 =item *
334
335 L<ExtUtils::ParseXS> has been upgraded from version 3.12 to version 3.15.
336
337 The new version comes with important tools for sharing typemaps between
338 different CPAN distributions.
339
340 =item *
341
342 L<File::Copy> has been upgraded from version 2.21 to version 2.23.
343
344 It no longer emits warnings when copying files with newlines in their names
345 [perl #109104].
346
347 =item *
348
349 L<IPC::Cmd> has been upgraded from version 0.72 to version 0.76.
350
351 =item *
352
353 L<Math::Complex> has been upgraded from version 1.58 to version 1.59.
354
355 This avoids a new core warning.
356
357 =item *
358
359 L<Module::Metadata> has been upgraded from version 1.000007 to version 1.000009.
360
361 Adds C<provides> method to generate a CPAN META provides data structure
362 correctly; use of C<package_versions_from_directory> is discouraged.
363
364 =item *
365
366 L<Parse::CPAN::Meta> has been upgraded from version 1.4401 to version 1.4402.
367
368 =item *
369
370 L<Pod::Parser> has been upgraded from version 1.37 to version 1.51.
371
372 =item *
373
374 L<Term::ReadLine> has been upgraded from version 1.07 to version 1.08.
375
376 Its C<tkRunning> method now supports L<AnyEvent> event loops, and not just
377 L<Tk>.  A more general mechanism has been proposed, so this may be reverted
378 before Perl 5.16 [perl #108470].
379
380 =item *
381
382 L<Time::HiRes>  has been upgraded from version 1.9724 to version 1.9725.
383
384 C<Time::HiRes::stat()> no longer corrupts the Perl stack.
385
386 =item *
387
388 L<Unicode::UCD> has been upgraded from version 0.39 to 0.40.
389
390 The only change is to fix a formatting error in the Pod.
391
392 =item *
393
394 L<Version::Requirements> has been upgraded from version 0.101021 to version 0.101022.
395
396 =item *
397
398 L<POSIX> has been upgraded from version 1.28 to version 1.29..
399
400 It now has a wrapper for the C<strptime(3)> function, it's not
401 exported on C<use POSIX;> due to backwards compatibility concerns, it
402 has to be explicitly requested with C<use POSIX qw(strptime)>.
403
404 =back
405
406 =head2 Removed Modules and Pragmata
407
408 =over 4
409
410 =item *
411
412 XXX
413
414 =back
415
416 =head1 Documentation
417
418 XXX Changes to files in F<pod/> go here.  Consider grouping entries by
419 file and be sure to link to the appropriate page, e.g. L<perlfunc>.
420
421 =head2 New Documentation
422
423 XXX Changes which create B<new> files in F<pod/> go here.
424
425 =head3 L<perlxstypemap>
426
427 The new manual describes the XS typemapping mechanism in unprecedented
428 detail and combines new documentation with information extracted from
429 L<perlxs> and the previously unofficial list of all core typemaps.
430
431 =head3 L<XXX>
432
433 XXX Description of the purpose of the new file here
434
435 =head2 Changes to Existing Documentation
436
437 XXX Changes which significantly change existing files in F<pod/> go here.
438 However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
439 section.
440
441 =head3 L<XXX>
442
443 =over 4
444
445 =item *
446
447 XXX Description of the change here
448
449 =back
450
451 =head1 Diagnostics
452
453 The following additions or changes have been made to diagnostic output,
454 including warnings and fatal error messages.  For the complete list of
455 diagnostic messages, see L<perldiag>.
456
457 XXX New or changed warnings emitted by the core's C<C> code go here. Also
458 include any changes in L<perldiag> that reconcile it to the C<C> code.
459
460 [ Within each section, list entries as a =item entry that links to perldiag,
461   e.g.
462
463   =item *
464
465   L<Invalid version object|perldiag/"Invalid version object">
466 ]
467
468 =head2 New Diagnostics
469
470 XXX Newly added diagnostic messages go here
471
472 =head3 New Errors
473
474 =over 4
475
476 =item *
477
478 XXX L<message|perldiag/"message">
479
480 =back
481
482 =head3 New Warnings
483
484 =over 4
485
486 =item *
487
488 XXX L<message|perldiag/"message">
489
490 =back
491
492 =head2 Changes to Existing Diagnostics
493
494 XXX Changes (i.e. rewording) of diagnostic messages go here
495
496 =over 4
497
498 =item *
499
500 XXX Describe change here
501
502 =back
503
504 =head1 Utility Changes
505
506 XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
507 here. Most of these are built within the directories F<utils> and F<x2p>.
508
509 [ List utility changes as a =head3 entry for each utility and =item
510 entries for each change
511 Use L<XXX> with program names to get proper documentation linking. ]
512
513 =head3 L<XXX>
514
515 =over 4
516
517 =item *
518
519 XXX
520
521 =back
522
523 =head1 Configuration and Compilation
524
525 XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
526 go here.  Any other changes to the Perl build process should be listed here.
527 However, any platform-specific changes should be listed in the
528 L</Platform Support> section, instead.
529
530 [ List changes as a =item entry ].
531
532 =over 4
533
534 =item *
535
536 XXX
537
538 =back
539
540 =head1 Testing
541
542 XXX Any significant changes to the testing of a freshly built perl should be
543 listed here.  Changes which create B<new> files in F<t/> go here as do any
544 large changes to the testing harness (e.g. when parallel testing was added).
545 Changes to existing files in F<t/> aren't worth summarising, although the bugs
546 that they represent may be covered elsewhere.
547
548 [ List each test improvement as a =item entry ]
549
550 =over 4
551
552 =item *
553
554 XXX
555
556 =item *
557
558 The test suite for typemaps has been extended to cover a larger fraction of
559 the core typemaps.
560
561 =back
562
563 =head1 Platform Support
564
565 XXX Any changes to platform support should be listed in the sections below.
566
567 [ Within the sections, list each platform as a =item entry with specific
568 changes as paragraphs below it. ]
569
570 =head2 New Platforms
571
572 XXX List any platforms that this version of perl compiles on, that previous
573 versions did not. These will either be enabled by new files in the F<hints/>
574 directories, or new subdirectories and F<README> files at the top level of the
575 source tree.
576
577 =over 4
578
579 =item XXX-some-platform
580
581 XXX
582
583 =back
584
585 =head2 Discontinued Platforms
586
587 XXX List any platforms that this version of perl no longer compiles on.
588
589 =over 4
590
591 =item XXX-some-platform
592
593 XXX
594
595 =back
596
597 =head2 Platform-Specific Notes
598
599 XXX List any changes for specific platforms. This could include configuration
600 and compilation changes or changes in portability/compatibility.  However,
601 changes within modules for platforms should generally be listed in the
602 L</Modules and Pragmata> section.
603
604 =over 4
605
606 =item XXX-some-platform
607
608 XXX
609
610 =back
611
612 =head1 Internal Changes
613
614 XXX Changes which affect the interface available to C<XS> code go here.
615 Other significant internal changes for future core maintainers should
616 be noted as well.
617
618 [ List each change as a =item entry ]
619
620 =over 4
621
622 =item *
623
624 XXX
625
626 =back
627
628 =head1 Selected Bug Fixes
629
630 XXX Important bug fixes in the core language are summarised here.
631 Bug fixes in files in F<ext/> and F<lib/> are best summarised in
632 L</Modules and Pragmata>.
633
634 [ List each fix as a =item entry ]
635
636 =over 4
637
638 =item *
639
640 C<~~> now correctly handles the precedence of Any~~Object, and is not tricked
641 by an overloaded object on the left-hand side.
642
643 =item *
644
645 C<stat _> no longer warns about unopened filehandles [perl #71002].
646
647 =item *
648
649 C<stat> on an unopened filehandle now warns consistently, instead of
650 skipping the warning at times.
651
652 =item *
653
654 A change in an earlier 5.15 release caused warning hints to propagate into
655 C<do $file>.  This has been fixed [rt.cpan.org #72767].
656
657 =item *
658
659 Starting with 5.12.0, Perl used to get its internal bookkeeping muddled up
660 after assigning C<${ qr// }> to a hash element and locking it with
661 L<Hash::Util>.  This could result in double frees, crashes or erratic
662 behaviour.
663
664 =item *
665
666 In 5.15.7, some typeglobs in the CORE namespace were made read-only by
667 mistake.  This has been fixed [rt.cpan.org #74289].
668
669 =item *
670
671 C<-t> now works when stacked with other filetest operators [perl #77388].
672
673 =item *
674
675 Stacked filetest operators now only call FETCH once on a tied argument.
676
677 =item *
678
679 C</.*/g> would sometimes refuse to match at the end of a string that ends
680 with "\n".  This has been fixed [perl #109206].
681
682 =item *
683
684 C<m/[[:ascii:]]/i> and C</\p{ASCII}/i> now match identically (when not
685 under a differing locale).  This fixes a regression introduced in 5.14
686 in which the first expression could match characters outside of ASCII,
687 such as the KELVIN SIGN.
688
689 =item *
690
691 Method calls whose arguments were all surrounded with C<my()> or C<our()>
692 (as in C<<$object->method(my($a,$b)) >>) used to force lvalue context on
693 the subroutine.  This would prevent lvalue methods from returning certain
694 values.  Due to lvalue fixes earlier in the 5.15.x series, it would also
695 prevent non-lvalue methods from being called [perl #109264].
696
697 =for comment
698 This bug I<did> affect earlier stable releases.  It is just the last
699 sentence that does not apply to 5.14.
700
701 =item *
702
703 The C<SvPVutf8> C function no longer tries to modify its argument,
704 resulting in errors [perl #108994].
705
706 =item *
707
708 C<SvPVutf8> now works properly with magical variables.
709
710 =item *
711
712 C<SvPVbyte> now works properly non-PVs.
713
714 =item *
715
716 C</[[:ascii:]]/> and C</[[:blank:]]/> now use locale rules under
717 C<use locale> when the platform supports that.  Previously, they used
718 the platform's native character set.
719
720 =back
721
722 =head1 Known Problems
723
724 XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
725 tests that had to be C<TODO>ed for the release would be noted here, unless
726 they were specific to a particular platform (see below).
727
728 This is a list of some significant unfixed bugs, which are regressions
729 from either 5.XXX.XXX or 5.XXX.XXX.
730
731 [ List each fix as a =item entry ]
732
733 =over 4
734
735 =item *
736
737 XXX
738
739 =back
740
741 =head1 Obituary
742
743 XXX If any significant core contributor has died, we've added a short obituary
744 here.
745
746 =head1 Acknowledgements
747
748 XXX Generate this with:
749
750   perl Porting/acknowledgements.pl v5.15.7..HEAD
751
752 =head1 Reporting Bugs
753
754 If you find what you think is a bug, you might check the articles
755 recently posted to the comp.lang.perl.misc newsgroup and the perl
756 bug database at http://rt.perl.org/perlbug/ .  There may also be
757 information at http://www.perl.org/ , the Perl Home Page.
758
759 If you believe you have an unreported bug, please run the L<perlbug>
760 program included with your release.  Be sure to trim your bug down
761 to a tiny but sufficient test case.  Your bug report, along with the
762 output of C<perl -V>, will be sent off to perlbug@perl.org to be
763 analysed by the Perl porting team.
764
765 If the bug you are reporting has security implications, which make it
766 inappropriate to send to a publicly archived mailing list, then please send
767 it to perl5-security-report@perl.org. This points to a closed subscription
768 unarchived mailing list, which includes
769 all the core committers, who will be able
770 to help assess the impact of issues, figure out a resolution, and help
771 co-ordinate the release of patches to mitigate or fix the problem across all
772 platforms on which Perl is supported. Please only use this address for
773 security issues in the Perl core, not for modules independently
774 distributed on CPAN.
775
776 =head1 SEE ALSO
777
778 The F<Changes> file for an explanation of how to view exhaustive details
779 on what changed.
780
781 The F<INSTALL> file for how to build Perl.
782
783 The F<README> file for general stuff.
784
785 The F<Artistic> and F<Copying> files for copyright information.
786
787 =cut