.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "PERL5259DELTA 1" .TH PERL5259DELTA 1 "2017-05-20" "perl v5.26.0" "Perl Programmers Reference Guide" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" perl5259delta \- what is new for perl v5.25.9 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This document describes differences between the 5.25.8 release and the 5.25.9 release. .PP If you are upgrading from an earlier release such as 5.25.7, first read perl5258delta, which describes differences between 5.25.7 and 5.25.8. .SH "Core Enhancements" .IX Header "Core Enhancements" .ie n .SS "New regular expression modifier ""/xx""" .el .SS "New regular expression modifier \f(CW/xx\fP" .IX Subsection "New regular expression modifier /xx" Specifying two \f(CW\*(C`x\*(C'\fR characters to modify a regular expression pattern does everything that a single one does, but additionally \s-1TAB\s0 and \s-1SPACE\s0 characters within a bracketed character class are generally ignored and can be added to improve readability, like \&\f(CW\*(C`/[ ^ A\-Z d\-f p\-x ]/xx\*(C'\fR. Details are at \&\*(L"/x and /xx\*(R" in perlre. .SH "Deprecations" .IX Header "Deprecations" .SS "String delimiters that aren't stand-alone graphemes are now deprecated" .IX Subsection "String delimiters that aren't stand-alone graphemes are now deprecated" In order for Perl to eventually allow string delimiters to be Unicode grapheme clusters (which look like a single character, but may be a sequence of several ones), we have to stop allowing a single char delimiter that isn't a grapheme by itself. These are unlikely to exist in actual code, as they would typically display as attached to the character in front of them. .SH "Performance Enhancements" .IX Header "Performance Enhancements" .IP "\(bu" 4 A hash in boolean context is now sometimes faster, e.g. .Sp .Vb 1 \& if (!%h) { ... } .Ve .Sp This was already special-cased, but some cases were missed, and even the ones which weren't have been improved. .IP "\(bu" 4 Several other ops may now also be faster in boolean context. .SH "Modules and Pragmata" .IX Header "Modules and Pragmata" .SS "Updated Modules and Pragmata" .IX Subsection "Updated Modules and Pragmata" .IP "\(bu" 4 attributes has been upgraded from version 0.28 to 0.29. .Sp The deprecation message for the \f(CW\*(C`:unique\*(C'\fR and \f(CW\*(C`:locked\*(C'\fR attributes now mention they will disappear in Perl 5.28. .IP "\(bu" 4 B::Deparse has been upgraded from version 1.39 to 1.40. .IP "\(bu" 4 B::Xref has been upgraded from version 1.05 to 1.06. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 Compress::Raw::Bzip2 has been upgraded from version 2.069 to 2.070. .IP "\(bu" 4 Compress::Raw::Zlib has been upgraded from version 2.069 to 2.070. .IP "\(bu" 4 \&\s-1CPAN\s0 has been upgraded from version 2.14_01 to 2.16. .IP "\(bu" 4 Data::Dumper was upgraded from version 2.166 to 2.167. .Sp This fixes a stack management bug. [perl #130487]. .IP "\(bu" 4 DB_File has been upgraded from version 1.838 to 1.840. .IP "\(bu" 4 Devel::SelfStubber has been upgraded from version 1.05 to 1.06. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 diagnostics has been upgraded from version 1.35 to 1.36. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 DynaLoader has been upgraded from version 1.40 to 1.41. .IP "\(bu" 4 Errno has been upgraded from version 1.27 to 1.28. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 ExtUtils::Embed has been upgraded from version 1.33 to 1.34. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 feature has been upgraded from version 1.45 to 1.46. .Sp Fixes the Unicode Bug in the range operator. .IP "\(bu" 4 File::Glob has been upgraded from version 1.27 to 1.28. .Sp Issue a deprecation message for \f(CW\*(C`File::Glob::glob()\*(C'\fR. .IP "\(bu" 4 I18N::LangTags has been upgraded from version 0.41 to 0.42. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 lib has been upgraded from version 0.63 to 0.64. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 Module::CoreList has been upgraded from version 5.20161220 to 5.20170120. .IP "\(bu" 4 OS2::Process has been upgraded from version 1.11 to 1.12. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 overload has been upgraded from version 1.27 to 1.28. .IP "\(bu" 4 perl5db.pl has been upgraded from version 1.50 to 1.51. .Sp Ignore \fI/dev/tty\fR on non-Unix systems. [perl #113960] .IP "\(bu" 4 PerlIO::scalar has been upgraded from version 0.25 to 0.26. .IP "\(bu" 4 Pod::Html has been upgraded from version 1.2201 to 1.2202. .IP "\(bu" 4 re has been upgraded from version 0.33 to 0.34 .Sp This adds support for the new \f(CW\*(C`/xx\*(C'\fR regular expression pattern modifier, and a change to the \f(CW\*(C`use re \*(Aqstrict\*(Aq\*(C'\fR experimental feature. When \f(CW\*(C`re \*(Aqstrict\*(Aq\*(C'\fR is enabled, a warning now will be generated for all unescaped uses of the two characters \f(CW\*(C`}\*(C'\fR and \f(CW\*(C`]\*(C'\fR in regular expression patterns (outside bracketed character classes) that are taken literally. This brings them more in line with the \f(CW\*(C`)\*(C'\fR character which is always a metacharacter unless escaped. Being a metacharacter only sometimes, depending on action at a distance, can lead to silently having the pattern mean something quite different than was intended, which the \f(CW\*(C`re \*(Aqstrict\*(Aq\*(C'\fR mode is intended to minimize. .IP "\(bu" 4 Storable has been upgraded from version 2.59 to 2.61. .Sp Fixes [perl #130098]. .IP "\(bu" 4 Symbol has been upgraded from version 1.07 to 1.08. .IP "\(bu" 4 Term::ReadLine has been upgraded from version 1.15 to 1.16. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 Test has been upgraded from version 1.29 to 1.30. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 threads has been upgraded from version 2.10 to 2.12. .Sp Fixes [perl #130469]. .IP "\(bu" 4 threads::shared has been upgraded from version 1.52 to 1.54. .Sp This fixes [cpan #119529], [perl #130457] .IP "\(bu" 4 Unicode::UCD has been upgraded from version 0.67 to 0.68. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 VMS::DCLsym has been upgraded from version 1.07 to 1.08. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .IP "\(bu" 4 XSLoader has been upgraded from version 0.24 to 0.26. .Sp It now uses 3\-arg \f(CW\*(C`open()\*(C'\fR instead of 2\-arg \f(CW\*(C`open()\*(C'\fR. [perl #130122] .SH "Documentation" .IX Header "Documentation" .SS "New Documentation" .IX Subsection "New Documentation" \fIperldeprecation\fR .IX Subsection "perldeprecation" .PP This file documents all upcoming deprecations, and some of the deprecations which already have been removed. The purpose of this documentation is two-fold: document what will disappear, and by which version, and serve as a guide for people dealing with code which has features that no longer work after an upgrade of their perl. .SH "Diagnostics" .IX Header "Diagnostics" The following additions or changes have been made to diagnostic output, including warnings and fatal error messages. For the complete list of diagnostic messages, see perldiag. .SS "New Diagnostics" .IX Subsection "New Diagnostics" \fINew Warnings\fR .IX Subsection "New Warnings" .IP "\(bu" 4 Use of unassigned code point or non-standalone grapheme for a delimiter will be a fatal error starting in Perl v5.30 .Sp See \*(L"Deprecations\*(R" .SS "Changes to Existing Diagnostics" .IX Subsection "Changes to Existing Diagnostics" As of Perl 5.25.9, all new deprecations will come with a version in which the feature will disappear. And with a few exceptions, most existing deprecations will state when they'll disappear. As such, most deprecation messages have changed. .IP "\(bu" 4 Attribute \*(L"locked\*(R" is deprecated, and will disappear in Perl 5.28 .IP "\(bu" 4 Attribute \*(L"unique\*(R" is deprecated, and will disappear in Perl 5.28 .IP "\(bu" 4 \&\*(L"\ec%c\*(R" is more clearly written simply as \*(L"%s\*(R". This will be a fatal error in Perl 5.28 .IP "\(bu" 4 Constants from lexical variables potentially modified elsewhere are deprecated. This will not be allowed in Perl 5.32 .IP "\(bu" 4 Deprecated use of \fImy()\fR in false conditional. This will be a fatal error in Perl 5.30 .IP "\(bu" 4 \&\fIdump()\fR better written as \fICORE::dump()\fR. \fIdump()\fR will no longer be available in Perl 5.30 .IP "\(bu" 4 ${^ENCODING} is no longer supported. Its use will be fatal in Perl 5.28 .IP "\(bu" 4 \&\fIFile::Glob::glob()\fR will disappear in perl 5.30. Use \fIFile::Glob::bsd_glob()\fR instead. .IP "\(bu" 4 %s() is deprecated on :utf8 handles. This will be a fatal error in Perl 5.30 .IP "\(bu" 4 $* is no longer supported. Its use will be fatal in Perl 5.30 .IP "\(bu" 4 $* is no longer supported. Its use will be fatal in Perl 5.30 .IP "\(bu" 4 Opening dirhandle \f(CW%s\fR also as a file. This will be a fatal error in Perl 5.28 .IP "\(bu" 4 Opening filehandle \f(CW%s\fR also as a directory. This will be a fatal error in Perl 5.28 .IP "\(bu" 4 Setting $/ to a reference to \f(CW%s\fR as a form of slurp is deprecated, treating as undef. This will be fatal in Perl 5.28 .IP "\(bu" 4 Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.30), passed through in regex; marked by <\-\- \s-1HERE\s0 in m/%s/ .IP "\(bu" 4 Unknown charname '' is deprecated. Its use will be fatal in Perl 5.28 .IP "\(bu" 4 Use of bare << to mean <<"" is deprecated. Its use will be fatal in Perl 5.28 .IP "\(bu" 4 Use of code point 0x%s is deprecated; the permissible max is 0x%s. This will be fatal in Perl 5.28 .IP "\(bu" 4 Use of comma-less variable list is deprecated. Its use will be fatal in Perl 5.28 .IP "\(bu" 4 Use of inherited \s-1AUTOLOAD\s0 for non-method %s() is deprecated. This will be fatal in Perl 5.28 .IP "\(bu" 4 Use of strings with code points over 0xFF as arguments to \f(CW%s\fR operator is deprecated. This will be a fatal error in Perl 5.28 .SH "Utility Changes" .IX Header "Utility Changes" .SS "\fIc2ph\fP and \fIpstruct\fP" .IX Subsection "c2ph and pstruct" .IP "\(bu" 4 These old utilities have long since superceded by h2xs, and are now gone from the distribution. .SS "\fIPorting/sync\-with\-cpan\fP" .IX Subsection "Porting/sync-with-cpan" .IP "\(bu" 4 Many improvements .SH "Configuration and Compilation" .IX Header "Configuration and Compilation" .IP "\(bu" 4 The \f(CW\*(C`dtrace\*(C'\fR build process has further changes: .RS 4 .IP "\(bu" 4 If the \f(CW\*(C`\-xnolibs\*(C'\fR is available, use that so a \fIdtrace\fR perl can be built within a FreeBSD jail. .IP "\(bu" 4 On systems that build a dtrace object file (FreeBSD, Solaris and SystemTap's dtrace emulation), copy the input objects to a separate directory and process them there, and use those objects in the link, since \f(CW\*(C`dtrace \-G\*(C'\fR also modifies these objects. .IP "\(bu" 4 Add libelf to the build on FreeBSD 10.x, since dtrace adds references to libelf symbols. .IP "\(bu" 4 Generate a dummy dtrace_main.o if \f(CW\*(C`dtrace \-G\*(C'\fR fails to build it. A default build on Solaris generates probes from the unused inline functions, while they don't on FreeBSD, which causes \f(CW\*(C`dtrace \-G\*(C'\fR to fail. .RE .RS 4 .Sp [perl #130108] .RE .IP "\(bu" 4 You can now disable perl's use of the \s-1PERL_HASH_SEED\s0 and \&\s-1PERL_PERTURB_KEYS\s0 environment variables by configuring perl with \&\f(CW\*(C`\-Accflags=NO_PERL_HASH_ENV\*(C'\fR. .IP "\(bu" 4 You can now disable perl's use of the \s-1PERL_HASH_SEED_DEBUG\s0 environment variable by configuring perl with \&\f(CW\*(C`\-Accflags=\-DNO_PERL_HASH_SEED_DEBUG\*(C'\fR. .SH "Internal Changes" .IX Header "Internal Changes" .IP "\(bu" 4 New versions of macros like \f(CW\*(C`isALPHA_utf8\*(C'\fR and \f(CW\*(C`toLOWER_utf8\*(C'\fR have been added, each with the suffix \f(CW\*(C`_safe\*(C'\fR, like \f(CW\*(C`isSPACE_utf8_safe\*(C'\fR. These take an extra parameter, giving an upper limit of how far into the string it is safe to read. Using the old versions could cause attempts to read beyond the end of the input buffer if the \s-1UTF\-8\s0 is not well-formed, and their use now raises a deprecation warning. Details are at \&\*(L"Character classification\*(R" in perlapi. .IP "\(bu" 4 Calling macros like \f(CW\*(C`isALPHA_utf8\*(C'\fR on malformed \s-1UTF\-8\s0 have issued a deprecation warning since Perl v5.18. They now die. Similarly, macros like \f(CW\*(C`toLOWER_utf8\*(C'\fR on malformed \s-1UTF\-8\s0 now die. .IP "\(bu" 4 Calling the functions \f(CW\*(C`utf8n_to_uvchr\*(C'\fR and its derivatives, while passing a string length of 0 is now asserted against in \s-1DEBUGGING\s0 builds, and otherwise returns the Unicode \s-1REPLACEMENT CHARACTER.\s0 If you have nothing to decode, you shouldn't call the decode function. .IP "\(bu" 4 The functions \f(CW\*(C`utf8n_to_uvchr\*(C'\fR and its derivatives now return the Unicode \s-1REPLACEMENT CHARACTER\s0 if called with \s-1UTF\-8\s0 that has the overlong malformation, and that malformation is allowed by the input parameters. This malformation is where the \s-1UTF\-8\s0 looks valid syntactically, but there is a shorter sequence that yields the same code point. This has been forbidden since Unicode version 3.1. .IP "\(bu" 4 The functions \f(CW\*(C`utf8n_to_uvchr\*(C'\fR and its derivatives now accept an input flag to allow the overflow malformation. This malformation is when the \&\s-1UTF\-8\s0 may be syntactically valid, but the code point it represents is not capable of being represented in the word length on the platform. What \*(L"allowed\*(R" means in this case is that the function doesn't return an error, and advances the parse pointer to beyond the \s-1UTF\-8\s0 in question, but it returns the Unicode \s-1REPLACEMENT CHARACTER\s0 as the value of the code point (since the real value is not representable). .SH "Selected Bug Fixes" .IX Header "Selected Bug Fixes" .IP "\(bu" 4 Under \f(CW\*(C`use utf8\*(C'\fR, the entire Perl program is now checked that the \s-1UTF\-8\s0 is wellformed. This resolves [perl #126310]. .IP "\(bu" 4 The range operator \f(CW\*(C`..\*(C'\fR on strings now handles its arguments correctly when in the scope of the \f(CW\*(C`unicode_strings\*(C'\fR feature. The previous behaviour was sufficiently unexpected that we believe no correct program could have made use of it. .IP "\(bu" 4 The split operator did not ensure enough space was allocated for its return value in scalar context. It could then write a single pointer immediately beyond the end of the memory block allocated for the stack. [perl #130262] .IP "\(bu" 4 Using a large code point with the \f(CW\*(C`W\*(C'\fR pack template character with the current output position aligned at just the right point could cause a write a single zero byte immediately beyond the end of an allocated buffer. [perl #129149] .IP "\(bu" 4 Supplying the form picture argument as part of the form argument list where the picture specifies modifying the argument could cause an access to the new freed compiled form. [perl #129125] .IP "\(bu" 4 Fix a problem with sort's build-in compare, where it would not sort correctly with 64\-bit integers, and non-long doubles. [perl #130335] .IP "\(bu" 4 Fix issues with /(?{ ... <<\s-1EOF\s0 })/ that broke Method-Signatures. [perl #130398] .IP "\(bu" 4 Fix a macro which caused syntax error on an \s-1EBCDIC\s0 build. .IP "\(bu" 4 Prevent tests from getting hung up on 'NonStop' option. [perl #130445] .IP "\(bu" 4 Fixed an assertion failure with \f(CW\*(C`chop\*(C'\fR and \f(CW\*(C`chomp\*(C'\fR, which could be triggered by \f(CW\*(C`chop(@x =~ tr/1/1/)\*(C'\fR. [perl #130198]. .IP "\(bu" 4 Fixed a comment skipping error under \f(CW\*(C`/x\*(C'\fR; it could stop skipping a byte early, which could be in the middle of a \s-1UTF\-8\s0 character. [perl #130495]. .IP "\(bu" 4 \&\fIperldb\fR now ignores \fI/dev/tty\fR on non-Unix systems. [perl #113960]; .IP "\(bu" 4 Fix assertion failure for \f(CW\*(C`{}\->$x\*(C'\fR when \f(CW$x\fR isn't defined. [perl #130496]. .IP "\(bu" 4 DragonFly \s-1BSD\s0 now has support for \fIsetproctitle()\fR. [perl #130068]. .IP "\(bu" 4 Fix an assertion error which could be triggered when lookahead string in patterns exceeded a minimum length. [perl #130522]. .IP "\(bu" 4 Only warn once per literal about a misplaced \f(CW\*(C`_\*(C'\fR. [perl #70878]. .IP "\(bu" 4 Ensure range-start is set after error in \f(CW\*(C`tr///\*(C'\fR. [perl #129342]. .IP "\(bu" 4 Don't read past start of string for unmatched backref; otherwise, we may have heap buffer overflow. [perl #129377]. .IP "\(bu" 4 Properly recognize mathematical digit ranges starting at U+1D7E. \&\f(CW\*(C`use re \*(Aqstrict\*(Aq\*(C'\fR is supposed to warn if you use a range whose start and end digit aren't from the same group of 10. It didn't do that for five groups of mathematical digits starting at U+1D7E. .SH "Acknowledgements" .IX Header "Acknowledgements" Perl 5.25.9 represents approximately 4 weeks of development since Perl 5.25.8 and contains approximately 24,000 lines of changes across 400 files from 23 authors. .PP Excluding auto-generated files, documentation and release tools, there were approximately 17,000 lines of changes to 220 .pm, .t, .c and .h files. .PP Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl 5.25.9: .PP Aaron Crane, Abigail, Andreas König, Andy Lester, Aristotle Pagaltzis Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, Dan Collins, David Mitchell, Father Chrysostomos, Hugo van der Sanden, James E Keenan, Jerry D. Hedden, John Lightsey, Karl Williamson, Paul Marquess, Peter Avalos, Sawyer X, Steve Hay, Tomasz Konojacki, Tony Cook, Zefram. .PP The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker. .PP Many of the changes included in this version originated in the \s-1CPAN\s0 modules included in Perl's core. We're grateful to the entire \s-1CPAN\s0 community for helping Perl to flourish. .PP For a more complete list of all of Perl's historical contributors, please see the \fI\s-1AUTHORS\s0\fR file in the Perl source distribution. .SH "Reporting Bugs" .IX Header "Reporting Bugs" If you find what you think is a bug, you might check the perl bug database at . There may also be information at , the Perl Home Page. .PP If you believe you have an unreported bug, please run the perlbug program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of \f(CW\*(C`perl \-V\*(C'\fR, will be sent off to perlbug@perl.org to be analysed by the Perl porting team. .PP If the bug you are reporting has security implications which make it inappropriate to send to a publicly archived mailing list, then see \&\*(L"\s-1SECURITY VULNERABILITY CONTACT INFORMATION\*(R"\s0 in perlsec for details of how to report the issue. .SH "SEE ALSO" .IX Header "SEE ALSO" The \fIChanges\fR file for an explanation of how to view exhaustive details on what changed. .PP The \fI\s-1INSTALL\s0\fR file for how to build Perl. .PP The \fI\s-1README\s0\fR file for general stuff. .PP The \fIArtistic\fR and \fICopying\fR files for copyright information.