diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/mageia-cauldron/man1/perl588delta.1 | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/mageia-cauldron/man1/perl588delta.1')
-rw-r--r-- | upstream/mageia-cauldron/man1/perl588delta.1 | 1142 |
1 files changed, 1142 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/perl588delta.1 b/upstream/mageia-cauldron/man1/perl588delta.1 new file mode 100644 index 00000000..fc22ae1d --- /dev/null +++ b/upstream/mageia-cauldron/man1/perl588delta.1 @@ -0,0 +1,1142 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" 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 +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. 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 +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "PERL588DELTA 1" +.TH PERL588DELTA 1 2023-11-28 "perl v5.38.2" "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 +perl588delta \- what is new for perl v5.8.8 +.SH DESCRIPTION +.IX Header "DESCRIPTION" +This document describes differences between the 5.8.7 release and +the 5.8.8 release. +.SH "Incompatible Changes" +.IX Header "Incompatible Changes" +There are no changes intentionally incompatible with 5.8.7. If any exist, +they are bugs and reports are welcome. +.SH "Core Enhancements" +.IX Header "Core Enhancements" +.IP \(bu 4 +\&\f(CW\*(C`chdir\*(C'\fR, \f(CW\*(C`chmod\*(C'\fR and \f(CW\*(C`chown\*(C'\fR can now work on filehandles as well as +filenames, if the system supports respectively \f(CW\*(C`fchdir\*(C'\fR, \f(CW\*(C`fchmod\*(C'\fR and +\&\f(CW\*(C`fchown\*(C'\fR, thanks to a patch provided by Gisle Aas. +.SH "Modules and Pragmata" +.IX Header "Modules and Pragmata" +.IP \(bu 4 +\&\f(CW\*(C`Attribute::Handlers\*(C'\fR upgraded to version 0.78_02 +.RS 4 +.IP \(bu 4 +Documentation typo fix +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`attrs\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +Internal cleanup only +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`autouse\*(C'\fR upgraded to version 1.05 +.RS 4 +.IP \(bu 4 +Simplified implementation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`B\*(C'\fR upgraded to version 1.09_01 +.RS 4 +.IP \(bu 4 +The inheritance hierarchy of the \f(CW\*(C`B::\*(C'\fR modules has been corrected; +\&\f(CW\*(C`B::NV\*(C'\fR now inherits from \f(CW\*(C`B::SV\*(C'\fR (instead of \f(CW\*(C`B::IV\*(C'\fR). +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`blib\*(C'\fR upgraded to version 1.03 +.RS 4 +.IP \(bu 4 +Documentation typo fix +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`ByteLoader\*(C'\fR upgraded to version 0.06 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`CGI\*(C'\fR upgraded to version 3.15 +.RS 4 +.IP \(bu 4 +Extraneous "?" from \f(CWself_url()\fR removed +.IP \(bu 4 +\&\f(CWscrolling_list()\fR select attribute fixed +.IP \(bu 4 +\&\f(CW\*(C`virtual_port\*(C'\fR now works properly with the https protocol +.IP \(bu 4 +\&\f(CWupload_hook()\fR and \f(CWappend()\fR now works in function-oriented mode +.IP \(bu 4 +\&\f(CW\*(C`POST_MAX\*(C'\fR doesn't cause the client to hang any more +.IP \(bu 4 +Automatic tab indexes are now disabled and new \f(CW\*(C`\-tabindex\*(C'\fR pragma has +been added to turn automatic indexes back on +.IP \(bu 4 +\&\f(CWend_form()\fR doesn't emit empty (and non-validating) \f(CW\*(C`<div>\*(C'\fR +.IP \(bu 4 +\&\f(CW\*(C`CGI::Carp\*(C'\fR works better in certain mod_perl configurations +.IP \(bu 4 +Setting \f(CW$CGI::TMPDIRECTORY\fR is now effective +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`charnames\*(C'\fR upgraded to version 1.05 +.RS 4 +.IP \(bu 4 +\&\f(CWviacode()\fR now accept hex strings and has been optimized. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`CPAN\*(C'\fR upgraded to version 1.76_02 +.RS 4 +.IP \(bu 4 +1 minor bug fix for Win32 +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Cwd\*(C'\fR upgraded to version 3.12 +.RS 4 +.IP \(bu 4 +\&\f(CWcanonpath()\fR on Win32 now collapses \fIfoo\e..\fR sections correctly. +.IP \(bu 4 +Improved behaviour on Symbian OS. +.IP \(bu 4 +Enhanced documentation and typo fixes +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Data::Dumper\*(C'\fR upgraded to version 2.121_08 +.RS 4 +.IP \(bu 4 +A problem where \f(CW\*(C`Data::Dumper\*(C'\fR would sometimes update the iterator state +of hashes has been fixed +.IP \(bu 4 +Numeric labels now work +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`DB\*(C'\fR upgraded to version 1.01 +.RS 4 +.IP \(bu 4 +A problem where the state of the regexp engine would sometimes get clobbered when running +under the debugger has been fixed. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`DB_File\*(C'\fR upgraded to version 1.814 +.RS 4 +.IP \(bu 4 +Adds support for Berkeley DB 4.4. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Devel::DProf\*(C'\fR upgraded to version 20050603.00 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Devel::Peek\*(C'\fR upgraded to version 1.03 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Devel::PPPort\*(C'\fR upgraded to version 3.06_01 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`\-\-compat\-version\*(C'\fR argument checking has been improved +.IP \(bu 4 +Files passed on the command line are filtered by default +.IP \(bu 4 +\&\f(CW\*(C`\-\-nofilter\*(C'\fR option to override the filtering has been added +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`diagnostics\*(C'\fR upgraded to version 1.15 +.RS 4 +.IP \(bu 4 +Documentation typo fix +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Digest\*(C'\fR upgraded to version 1.14 +.RS 4 +.IP \(bu 4 +The constructor now knows which module implements SHA\-224 +.IP \(bu 4 +Documentation tweaks and typo fixes +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Digest::MD5\*(C'\fR upgraded to version 2.36 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`XSLoader\*(C'\fR is now used for faster loading +.IP \(bu 4 +Enhanced documentation including MD5 weaknesses discovered lately +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Dumpvalue\*(C'\fR upgraded to version 1.12 +.RS 4 +.IP \(bu 4 +Documentation fix +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`DynaLoader\*(C'\fR upgraded but unfortunately we're not able to increment its version number :\-( +.RS 4 +.IP \(bu 4 +Implements \f(CW\*(C`dl_unload_file\*(C'\fR on Win32 +.IP \(bu 4 +Internal cleanup +.IP \(bu 4 +\&\f(CW\*(C`XSLoader\*(C'\fR 0.06 incorporated; small optimisation for calling +\&\f(CWbootstrap_inherit()\fR and documentation enhancements. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Encode\*(C'\fR upgraded to version 2.12 +.RS 4 +.IP \(bu 4 +A coderef is now acceptable for \f(CW\*(C`CHECK\*(C'\fR! +.IP \(bu 4 +3 new characters added to the ISO\-8859\-7 encoding +.IP \(bu 4 +New encoding \f(CW\*(C`MIME\-Header\-ISO_2022_JP\*(C'\fR added +.IP \(bu 4 +Problem with partial characters and \f(CWencoding(utf\-8\-strict)\fR fixed. +.IP \(bu 4 +Documentation enhancements and typo fixes +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`English\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +the \f(CW$COMPILING\fR variable has been added +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`ExtUtils::Constant\*(C'\fR upgraded to version 0.17 +.RS 4 +.IP \(bu 4 +Improved compatibility with older versions of perl +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`ExtUtils::MakeMaker\*(C'\fR upgraded to version 6.30 (was 6.17) +.RS 4 +.IP \(bu 4 +Too much to list here; see <http://search.cpan.org/dist/ExtUtils\-MakeMaker/Changes> +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`File::Basename\*(C'\fR upgraded to version 2.74, with changes contributed by Michael Schwern. +.RS 4 +.IP \(bu 4 +Documentation clarified and errors corrected. +.IP \(bu 4 +\&\f(CW\*(C`basename\*(C'\fR now strips trailing path separators before processing the name. +.IP \(bu 4 +\&\f(CW\*(C`basename\*(C'\fR now returns \f(CW\*(C`/\*(C'\fR for parameter \f(CW\*(C`/\*(C'\fR, to make \f(CW\*(C`basename\*(C'\fR +consistent with the shell utility of the same name. +.IP \(bu 4 +The suffix is no longer stripped if it is identical to the remaining characters +in the name, again for consistency with the shell utility. +.IP \(bu 4 +Some internal code cleanup. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`File::Copy\*(C'\fR upgraded to version 2.09 +.RS 4 +.IP \(bu 4 +Copying a file onto itself used to fail. +.IP \(bu 4 +Moving a file between file systems now preserves the access and +modification time stamps +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`File::Find\*(C'\fR upgraded to version 1.10 +.RS 4 +.IP \(bu 4 +Win32 portability fixes +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`File::Glob\*(C'\fR upgraded to version 1.05 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`File::Path\*(C'\fR upgraded to version 1.08 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`mkpath\*(C'\fR now preserves \f(CW\*(C`errno\*(C'\fR when \f(CW\*(C`mkdir\*(C'\fR fails +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`File::Spec\*(C'\fR upgraded to version 3.12 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`File::Spec\->rootdir()\*(C'\fR now returns \f(CW\*(C`\e\*(C'\fR on Win32, instead of \f(CW\*(C`/\*(C'\fR +.IP \(bu 4 +\&\f(CW$^O\fR could sometimes become tainted. This has been fixed. +.IP \(bu 4 +\&\f(CW\*(C`canonpath\*(C'\fR on Win32 now collapses \f(CW\*(C`foo/..\*(C'\fR (or \f(CW\*(C`foo\e..\*(C'\fR) sections +correctly, rather than doing the "misguided" work it was previously doing. +Note that \f(CW\*(C`canonpath\*(C'\fR on Unix still does \fBnot\fR collapse these sections, as +doing so would be incorrect. +.IP \(bu 4 +Some documentation improvements +.IP \(bu 4 +Some internal code cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`FileCache\*(C'\fR upgraded to version 1.06 +.RS 4 +.IP \(bu 4 +POD formatting errors in the documentation fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Filter::Simple\*(C'\fR upgraded to version 0.82 +.IP \(bu 4 +\&\f(CW\*(C`FindBin\*(C'\fR upgraded to version 1.47 +.RS 4 +.IP \(bu 4 +Now works better with directories where access rights are more +restrictive than usual. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`GDBM_File\*(C'\fR upgraded to version 1.08 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Getopt::Long\*(C'\fR upgraded to version 2.35 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`prefix_pattern\*(C'\fR has now been complemented by a new configuration +option \f(CW\*(C`long_prefix_pattern\*(C'\fR that allows the user to specify what +prefix patterns should have long option style semantics applied. +.IP \(bu 4 +Options can now take multiple values at once (experimental) +.IP \(bu 4 +Various bug fixes +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`if\*(C'\fR upgraded to version 0.05 +.RS 4 +.IP \(bu 4 +Give more meaningful error messages from \f(CW\*(C`if\*(C'\fR when invoked with a +condition in list context. +.IP \(bu 4 +Restore backwards compatibility with earlier versions of perl +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`IO\*(C'\fR upgraded to version 1.22 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`IPC::Open2\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`IPC::Open3\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`List::Util\*(C'\fR upgraded to version 1.18 (was 1.14) +.RS 4 +.IP \(bu 4 +Fix pure-perl version of \f(CW\*(C`refaddr\*(C'\fR to avoid blessing an un-blessed reference +.IP \(bu 4 +Use \f(CW\*(C`XSLoader\*(C'\fR for faster loading +.IP \(bu 4 +Fixed various memory leaks +.IP \(bu 4 +Internal cleanup and portability fixes +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Math::Complex\*(C'\fR upgraded to version 1.35 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`atan2(0, i)\*(C'\fR now works, as do all the (computable) complex argument cases +.IP \(bu 4 +Fixes for certain bugs in \f(CW\*(C`make\*(C'\fR and \f(CW\*(C`emake\*(C'\fR +.IP \(bu 4 +Support returning the \fIk\fRth root directly +.IP \(bu 4 +Support \f(CW\*(C`[2,\-3pi/8]\*(C'\fR in \f(CW\*(C`emake\*(C'\fR +.IP \(bu 4 +Support \f(CW\*(C`inf\*(C'\fR for \f(CW\*(C`make\*(C'\fR/\f(CW\*(C`emake\*(C'\fR +.IP \(bu 4 +Document \f(CW\*(C`make\*(C'\fR/\f(CW\*(C`emake\*(C'\fR more visibly +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Math::Trig\*(C'\fR upgraded to version 1.03 +.RS 4 +.IP \(bu 4 +Add more great circle routines: \f(CW\*(C`great_circle_waypoint\*(C'\fR and +\&\f(CW\*(C`great_circle_destination\*(C'\fR +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`MIME::Base64\*(C'\fR upgraded to version 3.07 +.RS 4 +.IP \(bu 4 +Use \f(CW\*(C`XSLoader\*(C'\fR for faster loading +.IP \(bu 4 +Enhanced documentation +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`NDBM_File\*(C'\fR upgraded to version 1.06 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`ODBM_File\*(C'\fR upgraded to version 1.06 +.RS 4 +.IP \(bu 4 +Documentation typo fixed +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Opcode\*(C'\fR upgraded to version 1.06 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`open\*(C'\fR upgraded to version 1.05 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`overload\*(C'\fR upgraded to version 1.04 +.RS 4 +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`PerlIO\*(C'\fR upgraded to version 1.04 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`PerlIO::via\*(C'\fR iterate over layers properly now +.IP \(bu 4 +\&\f(CW\*(C`PerlIO::scalar\*(C'\fR understands \f(CW\*(C`$/ = ""\*(C'\fR now +.IP \(bu 4 +\&\f(CWencoding(utf\-8\-strict)\fR with partial characters now works +.IP \(bu 4 +Enhanced documentation +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Pod::Functions\*(C'\fR upgraded to version 1.03 +.RS 4 +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Pod::Html\*(C'\fR upgraded to version 1.0504 +.RS 4 +.IP \(bu 4 +HTML output will now correctly link +to \f(CW\*(C`=item\*(C'\fRs on the same page, and should be valid XHTML. +.IP \(bu 4 +Variable names are recognized as intended +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Pod::Parser\*(C'\fR upgraded to version 1.32 +.RS 4 +.IP \(bu 4 +Allow files that start with \f(CW\*(C`=head\*(C'\fR on the first line +.IP \(bu 4 +Win32 portability fix +.IP \(bu 4 +Exit status of \f(CW\*(C`pod2usage\*(C'\fR fixed +.IP \(bu 4 +New \f(CW\*(C`\-noperldoc\*(C'\fR switch for \f(CW\*(C`pod2usage\*(C'\fR +.IP \(bu 4 +Arbitrary URL schemes now allowed +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`POSIX\*(C'\fR upgraded to version 1.09 +.RS 4 +.IP \(bu 4 +Documentation typos fixed +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`re\*(C'\fR upgraded to version 0.05 +.RS 4 +.IP \(bu 4 +Documentation typo fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Safe\*(C'\fR upgraded to version 2.12 +.RS 4 +.IP \(bu 4 +Minor documentation enhancement +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`SDBM_File\*(C'\fR upgraded to version 1.05 +.RS 4 +.IP \(bu 4 +Documentation typo fixed +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Socket\*(C'\fR upgraded to version 1.78 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Storable\*(C'\fR upgraded to version 2.15 +.RS 4 +.IP \(bu 4 +This includes the \f(CW\*(C`STORABLE_attach\*(C'\fR hook functionality added by +Adam Kennedy, and more frugal memory requirements when storing under \f(CW\*(C`ithreads\*(C'\fR, by +using the \f(CW\*(C`ithreads\*(C'\fR cloning tracking code. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Switch\*(C'\fR upgraded to version 2.10_01 +.RS 4 +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Sys::Syslog\*(C'\fR upgraded to version 0.13 +.RS 4 +.IP \(bu 4 +Now provides numeric macros and meaningful \f(CW\*(C`Exporter\*(C'\fR tags. +.IP \(bu 4 +No longer uses \f(CW\*(C`Sys::Hostname\*(C'\fR as it may provide useless values in +unconfigured network environments, so instead uses \f(CW\*(C`INADDR_LOOPBACK\*(C'\fR directly. +.IP \(bu 4 +\&\f(CWsyslog()\fR now uses local timestamp. +.IP \(bu 4 +\&\f(CWsetlogmask()\fR now behaves like its C counterpart. +.IP \(bu 4 +\&\f(CWsetlogsock()\fR will now \f(CWcroak()\fR as documented. +.IP \(bu 4 +Improved error and warnings messages. +.IP \(bu 4 +Improved documentation. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Term::ANSIColor\*(C'\fR upgraded to version 1.10 +.RS 4 +.IP \(bu 4 +Fixes a bug in \f(CW\*(C`colored\*(C'\fR when \f(CW$EACHLINE\fR is set that caused it to not color +lines consisting solely of 0 (literal zero). +.IP \(bu 4 +Improved tests. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Term::ReadLine\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +Documentation tweaks +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Test::Harness\*(C'\fR upgraded to version 2.56 (was 2.48) +.RS 4 +.IP \(bu 4 +The \f(CW\*(C`Test::Harness\*(C'\fR timer is now off by default. +.IP \(bu 4 +Now shows elapsed time in milliseconds. +.IP \(bu 4 +Various bug fixes +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Test::Simple\*(C'\fR upgraded to version 0.62 (was 0.54) +.RS 4 +.IP \(bu 4 +\&\f(CWis_deeply()\fR no longer fails to work for many cases +.IP \(bu 4 +Various minor bug fixes +.IP \(bu 4 +Documentation enhancements +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Text::Tabs\*(C'\fR upgraded to version 2005.0824 +.RS 4 +.IP \(bu 4 +Provides a faster implementation of \f(CW\*(C`expand\*(C'\fR +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Text::Wrap\*(C'\fR upgraded to version 2005.082401 +.RS 4 +.IP \(bu 4 +Adds \f(CW$Text::Wrap::separator2\fR, which allows you to preserve existing newlines +but add line-breaks with some other string. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`threads\*(C'\fR upgraded to version 1.07 +.RS 4 +.IP \(bu 4 +\&\f(CW\*(C`threads\*(C'\fR will now honour \f(CW\*(C`no warnings \*(Aqthreads\*(Aq\*(C'\fR +.IP \(bu 4 +A thread's interpreter is now freed after \f(CW\*(C`$t\->join()\*(C'\fR rather than after +\&\f(CW\*(C`undef $t\*(C'\fR, which should fix some \f(CW\*(C`ithreads\*(C'\fR memory leaks. (Fixed by Dave +Mitchell) +.IP \(bu 4 +Some documentation typo fixes. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`threads::shared\*(C'\fR upgraded to version 0.94 +.RS 4 +.IP \(bu 4 +Documentation changes only +.IP \(bu 4 +Note: An improved implementation of \f(CW\*(C`threads::shared\*(C'\fR is available on +CPAN \- this will be merged into 5.8.9 if it proves stable. +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Tie::Hash\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +Documentation typo fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Time::HiRes\*(C'\fR upgraded to version 1.86 (was 1.66) +.RS 4 +.IP \(bu 4 +\&\f(CWclock_nanosleep()\fR and \f(CWclock()\fR functions added +.IP \(bu 4 +Support for the POSIX \f(CWclock_gettime()\fR and \f(CWclock_getres()\fR has been added +.IP \(bu 4 +Return \f(CW\*(C`undef\*(C'\fR or an empty list if the C \f(CWgettimeofday()\fR function fails +.IP \(bu 4 +Improved \f(CW\*(C`nanosleep\*(C'\fR detection +.IP \(bu 4 +Internal cleanup +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Unicode::Collate\*(C'\fR upgraded to version 0.52 +.RS 4 +.IP \(bu 4 +Now implements UCA Revision 14 (based on Unicode 4.1.0). +.IP \(bu 4 +\&\f(CW\*(C`Unicode::Collate\->new\*(C'\fR method no longer overwrites user's \f(CW$_\fR +.IP \(bu 4 +Enhanced documentation +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Unicode::UCD\*(C'\fR upgraded to version 0.24 +.RS 4 +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`User::grent\*(C'\fR upgraded to version 1.01 +.RS 4 +.IP \(bu 4 +Documentation typo fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`utf8\*(C'\fR upgraded to version 1.06 +.RS 4 +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`vmsish\*(C'\fR upgraded to version 1.02 +.RS 4 +.IP \(bu 4 +Documentation typos fixed +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`warnings\*(C'\fR upgraded to version 1.05 +.RS 4 +.IP \(bu 4 +Gentler messing with \f(CW\*(C`Carp::\*(C'\fR internals +.IP \(bu 4 +Internal cleanup +.IP \(bu 4 +Documentation update +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`Win32\*(C'\fR upgraded to version 0.2601 +.RS 4 +.IP \(bu 4 +Provides Windows Vista support to \f(CW\*(C`Win32::GetOSName\*(C'\fR +.IP \(bu 4 +Documentation enhancements +.RE +.RS 4 +.RE +.IP \(bu 4 +\&\f(CW\*(C`XS::Typemap\*(C'\fR upgraded to version 0.02 +.RS 4 +.IP \(bu 4 +Internal cleanup +.RE +.RS 4 +.RE +.SH "Utility Changes" +.IX Header "Utility Changes" +.ie n .SS """h2xs"" enhancements" +.el .SS "\f(CWh2xs\fP enhancements" +.IX Subsection "h2xs enhancements" +\&\f(CW\*(C`h2xs\*(C'\fR implements new option \f(CW\*(C`\-\-use\-xsloader\*(C'\fR to force use of +\&\f(CW\*(C`XSLoader\*(C'\fR even in backwards compatible modules. +.PP +The handling of authors' names that had apostrophes has been fixed. +.PP +Any enums with negative values are now skipped. +.ie n .SS """perlivp"" enhancements" +.el .SS "\f(CWperlivp\fP enhancements" +.IX Subsection "perlivp enhancements" +\&\f(CW\*(C`perlivp\*(C'\fR implements new option \f(CW\*(C`\-a\*(C'\fR and will not check for \fI*.ph\fR +files by default any more. Use the \f(CW\*(C`\-a\*(C'\fR option to run \fIall\fR tests. +.SH "New Documentation" +.IX Header "New Documentation" +The perlglossary manpage is a glossary of terms used in the Perl +documentation, technical and otherwise, kindly provided by O'Reilly Media, +inc. +.SH "Performance Enhancements" +.IX Header "Performance Enhancements" +.IP \(bu 4 +Weak reference creation is now \fIO(1)\fR rather than \fIO(n)\fR, courtesy of +Nicholas Clark. Weak reference deletion remains \fIO(n)\fR, but if deletion only +happens at program exit, it may be skipped completely. +.IP \(bu 4 +Salvador FandiƱo provided improvements to reduce the memory usage of \f(CW\*(C`sort\*(C'\fR +and to speed up some cases. +.IP \(bu 4 +Jarkko Hietaniemi and Andy Lester worked to mark as much data as possible in +the C source files as \f(CW\*(C`static\*(C'\fR, to increase the proportion of the executable +file that the operating system can share between process, and thus reduce +real memory usage on multi-user systems. +.SH "Installation and Configuration Improvements" +.IX Header "Installation and Configuration Improvements" +Parallel makes should work properly now, although there may still be problems +if \f(CW\*(C`make test\*(C'\fR is instructed to run in parallel. +.PP +Building with Borland's compilers on Win32 should work more smoothly. In +particular Steve Hay has worked to side step many warnings emitted by their +compilers and at least one C compiler internal error. +.PP +\&\f(CW\*(C`Configure\*(C'\fR will now detect \f(CW\*(C`clearenv\*(C'\fR and \f(CW\*(C`unsetenv\*(C'\fR, thanks to a patch +from Alan Burlison. It will also probe for \f(CW\*(C`futimes\*(C'\fR and whether \f(CW\*(C`sprintf\*(C'\fR +correctly returns the length of the formatted string, which will both be used +in perl 5.8.9. +.PP +There are improved hints for next\-3.0, vmesa, IX, Darwin, Solaris, Linux, +DEC/OSF, HP-UX and MPE/iX +.PP +Perl extensions on Windows now can be statically built into the Perl DLL, +thanks to a work by Vadim Konovalov. (This improvement was actually in 5.8.7, +but was accidentally omitted from perl587delta). +.SH "Selected Bug Fixes" +.IX Header "Selected Bug Fixes" +.SS "no warnings 'category' works correctly with \-w" +.IX Subsection "no warnings 'category' works correctly with -w" +Previously when running with warnings enabled globally via \f(CW\*(C`\-w\*(C'\fR, selective +disabling of specific warning categories would actually turn off all warnings. +This is now fixed; now \f(CW\*(C`no warnings \*(Aqio\*(Aq;\*(C'\fR will only turn off warnings in the +\&\f(CW\*(C`io\*(C'\fR class. Previously it would erroneously turn off all warnings. +.PP +This bug fix may cause some programs to start correctly issuing warnings. +.SS "Remove over-optimisation" +.IX Subsection "Remove over-optimisation" +Perl 5.8.4 introduced a change so that assignments of \f(CW\*(C`undef\*(C'\fR to a +scalar, or of an empty list to an array or a hash, were optimised away. As +this could cause problems when \f(CW\*(C`goto\*(C'\fR jumps were involved, this change +has been backed out. +.SS "\fBsprintf()\fP fixes" +.IX Subsection "sprintf() fixes" +Using the \fBsprintf()\fR function with some formats could lead to a buffer +overflow in some specific cases. This has been fixed, along with several +other bugs, notably in bounds checking. +.PP +In related fixes, it was possible for badly written code that did not follow +the documentation of \f(CW\*(C`Sys::Syslog\*(C'\fR to have formatting vulnerabilities. +\&\f(CW\*(C`Sys::Syslog\*(C'\fR has been changed to protect people from poor quality third +party code. +.SS "Debugger and Unicode slowdown" +.IX Subsection "Debugger and Unicode slowdown" +It had been reported that running under perl's debugger when processing +Unicode data could cause unexpectedly large slowdowns. The most likely cause +of this was identified and fixed by Nicholas Clark. +.SS "Smaller fixes" +.IX Subsection "Smaller fixes" +.IP \(bu 4 +\&\f(CW\*(C`FindBin\*(C'\fR now works better with directories where access rights are more +restrictive than usual. +.IP \(bu 4 +Several memory leaks in ithreads were closed. An improved implementation of +\&\f(CW\*(C`threads::shared\*(C'\fR is available on CPAN \- this will be merged into 5.8.9 if +it proves stable. +.IP \(bu 4 +Trailing spaces are now trimmed from \f(CW$!\fR and \f(CW$^E\fR. +.IP \(bu 4 +Operations that require perl to read a process's list of groups, such as reads +of \f(CW$(\fR and \f(CW$)\fR, now dynamically allocate memory rather than using a +fixed sized array. The fixed size array could cause C stack exhaustion on +systems configured to use large numbers of groups. +.IP \(bu 4 +\&\f(CW\*(C`PerlIO::scalar\*(C'\fR now works better with non-default \f(CW$/\fR settings. +.IP \(bu 4 +You can now use the \f(CW\*(C`x\*(C'\fR operator to repeat a \f(CW\*(C`qw//\*(C'\fR list. This used +to raise a syntax error. +.IP \(bu 4 +The debugger now traces correctly execution in eval("")uated code that +contains #line directives. +.IP \(bu 4 +The value of the \f(CW\*(C`open\*(C'\fR pragma is no longer ignored for three-argument +opens. +.IP \(bu 4 +The optimisation of \f(CW\*(C`for (reverse @a)\*(C'\fR introduced in perl 5.8.6 could +misbehave when the array had undefined elements and was used in LVALUE +context. Dave Mitchell provided a fix. +.IP \(bu 4 +Some case insensitive matches between UTF\-8 encoded data and 8 bit regexps, +and vice versa, could give malformed character warnings. These have been +fixed by Dave Mitchell and Yves Orton. +.IP \(bu 4 +\&\f(CW\*(C`lcfirst\*(C'\fR and \f(CW\*(C`ucfirst\*(C'\fR could corrupt the string for certain cases where +the length UTF\-8 encoding of the string in lower case, upper case or title +case differed. This was fixed by Nicholas Clark. +.IP \(bu 4 +Perl will now use the C library calls \f(CW\*(C`unsetenv\*(C'\fR and \f(CW\*(C`clearenv\*(C'\fR if present +to delete keys from \f(CW%ENV\fR and delete \f(CW%ENV\fR entirely, thanks to a patch +from Alan Burlison. +.SH "New or Changed Diagnostics" +.IX Header "New or Changed Diagnostics" +.SS "Attempt to set length of freed array" +.IX Subsection "Attempt to set length of freed array" +This is a new warning, produced in situations such as this: +.PP +.Vb 2 +\& $r = do {my @a; \e$#a}; +\& $$r = 503; +.Ve +.SS "Non-string passed as bitmask" +.IX Subsection "Non-string passed as bitmask" +This is a new warning, produced when number has been passed as an argument to +\&\fBselect()\fR, instead of a bitmask. +.PP +.Vb 3 +\& # Wrong, will now warn +\& $rin = fileno(STDIN); +\& ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout); +\& +\& # Should be +\& $rin = \*(Aq\*(Aq; +\& vec($rin,fileno(STDIN),1) = 1; +\& ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout); +.Ve +.SS "Search pattern not terminated or ternary operator parsed as search pattern" +.IX Subsection "Search pattern not terminated or ternary operator parsed as search pattern" +This syntax error indicates that the lexer couldn't find the final +delimiter of a \f(CW\*(C`?PATTERN?\*(C'\fR construct. Mentioning the ternary operator in +this error message makes it easier to diagnose syntax errors. +.SH "Changed Internals" +.IX Header "Changed Internals" +There has been a fair amount of refactoring of the \f(CW\*(C`C\*(C'\fR source code, partly to +make it tidier and more maintainable. The resulting object code and the +\&\f(CW\*(C`perl\*(C'\fR binary may well be smaller than 5.8.7, in particular due to a change +contributed by Dave Mitchell which reworked the warnings code to be +significantly smaller. Apart from being smaller and possibly faster, there +should be no user-detectable changes. +.PP +Andy Lester supplied many improvements to determine which function +parameters and local variables could actually be declared \f(CW\*(C`const\*(C'\fR to the C +compiler. Steve Peters provided new \f(CW*_set\fR macros and reworked the core to +use these rather than assigning to macros in LVALUE context. +.PP +Dave Mitchell improved the lexer debugging output under \f(CW\*(C`\-DT\*(C'\fR +.PP +Nicholas Clark changed the string buffer allocation so that it is now rounded +up to the next multiple of 4 (or 8 on platforms with 64 bit pointers). This +should reduce the number of calls to \f(CW\*(C`realloc\*(C'\fR without actually using any +extra memory. +.PP +The \f(CW\*(C`HV\*(C'\fR's array of \f(CW\*(C`HE*\*(C'\fRs is now allocated at the correct (minimal) size, +thanks to another change by Nicholas Clark. Compile with +\&\f(CW\*(C`\-DPERL_USE_LARGE_HV_ALLOC\*(C'\fR to use the old, sloppier, default. +.PP +For XS or embedding debugging purposes, if perl is compiled with +\&\f(CW\*(C`\-DDEBUG_LEAKING_SCALARS_FORK_DUMP\*(C'\fR in addition to +\&\f(CW\*(C`\-DDEBUG_LEAKING_SCALARS\*(C'\fR then a child process is \f(CW\*(C`fork\*(C'\fRed just before +global destruction, which is used to display the values of any scalars +found to have leaked at the end of global destruction. Without this, the +scalars have already been freed sufficiently at the point of detection that +it is impossible to produce any meaningful dump of their contents. This +feature was implemented by the indefatigable Nicholas Clark, based on an idea +by Mike Giroux. +.SH "Platform Specific Problems" +.IX Header "Platform Specific Problems" +The optimiser on HP-UX 11.23 (Itanium 2) is currently partly disabled (scaled +down to +O1) when using HP C\-ANSI-C; the cause of problems at higher +optimisation levels is still unclear. +.PP +There are a handful of remaining test failures on VMS, mostly due to +test fixes and minor module tweaks with too many dependencies to +integrate into this release from the development stream, where they have +all been corrected. The following is a list of expected failures with +the patch number of the fix where that is known: +.PP +.Vb 6 +\& ext/Devel/PPPort/t/ppphtest.t #26913 +\& ext/List/Util/t/p_tainted.t #26912 +\& lib/ExtUtils/t/PL_FILES.t #26813 +\& lib/ExtUtils/t/basic.t #26813 +\& t/io/fs.t +\& t/op/cmp.t +.Ve +.SH "Reporting Bugs" +.IX Header "Reporting Bugs" +If you find what you think is a bug, you might check the articles +recently posted to the comp.lang.perl.misc newsgroup and the perl +bug database at http://bugs.perl.org. There may also be +information at http://www.perl.org, the Perl Home Page. +.PP +If you believe you have an unreported bug, please run the \fBperlbug\fR +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. You can browse and search +the Perl 5 bugs at http://bugs.perl.org/ +.SH "SEE ALSO" +.IX Header "SEE ALSO" +The \fIChanges\fR file for exhaustive details on what changed. +.PP +The \fIINSTALL\fR file for how to build Perl. +.PP +The \fIREADME\fR file for general stuff. +.PP +The \fIArtistic\fR and \fICopying\fR files for copyright information. |