diff options
Diffstat (limited to 'upstream/debian-bookworm/man1/perl584delta.1')
-rw-r--r-- | upstream/debian-bookworm/man1/perl584delta.1 | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/perl584delta.1 b/upstream/debian-bookworm/man1/perl584delta.1 new file mode 100644 index 00000000..a5999c76 --- /dev/null +++ b/upstream/debian-bookworm/man1/perl584delta.1 @@ -0,0 +1,315 @@ +.\" Automatically generated by Pod::Man 4.14 (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 +.. +.\" 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 +.. +.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 "PERL584DELTA 1" +.TH PERL584DELTA 1 "2023-11-25" "perl v5.36.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" +perl584delta \- what is new for perl v5.8.4 +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This document describes differences between the 5.8.3 release and +the 5.8.4 release. +.SH "Incompatible Changes" +.IX Header "Incompatible Changes" +Many minor bugs have been fixed. Scripts which happen to rely on previously +erroneous behaviour will consider these fixes as incompatible changes :\-) +You are advised to perform sufficient acceptance testing on this release +to satisfy yourself that this does not affect you, before putting this +release into production. +.PP +The diagnostic output of Carp has been changed slightly, to add a space after +the comma between arguments. This makes it much easier for tools such as +web browsers to wrap it, but might confuse any automatic tools which perform +detailed parsing of Carp output. +.PP +The internal dump output has been improved, so that non-printable characters +such as newline and backspace are output in \f(CW\*(C`\ex\*(C'\fR notation, rather than +octal. This might just confuse non-robust tools which parse the output of +modules such as Devel::Peek. +.SH "Core Enhancements" +.IX Header "Core Enhancements" +.SS "Malloc wrapping" +.IX Subsection "Malloc wrapping" +Perl can now be built to detect attempts to assign pathologically large chunks +of memory. Previously such assignments would suffer from integer wrap-around +during size calculations causing a misallocation, which would crash perl, and +could theoretically be used for \*(L"stack smashing\*(R" attacks. The wrapping +defaults to enabled on platforms where we know it works (most \s-1AIX\s0 +configurations, BSDi, Darwin, \s-1DEC OSF/1,\s0 FreeBSD, \s-1HP/UX, GNU\s0 Linux, OpenBSD, +Solaris, \s-1VMS\s0 and most Win32 compilers) and defaults to disabled on other +platforms. +.SS "Unicode Character Database 4.0.1" +.IX Subsection "Unicode Character Database 4.0.1" +The copy of the Unicode Character Database included in Perl 5.8 has +been updated to 4.0.1 from 4.0.0. +.SS "suidperl less insecure" +.IX Subsection "suidperl less insecure" +Paul Szabo has analysed and patched \f(CW\*(C`suidperl\*(C'\fR to remove existing known +insecurities. Currently there are no known holes in \f(CW\*(C`suidperl\*(C'\fR, but previous +experience shows that we cannot be confident that these were the last. You may +no longer invoke the set uid perl directly, so to preserve backwards +compatibility with scripts that invoke #!/usr/bin/suidperl the only set uid +binary is now \f(CW\*(C`sperl5.8.\*(C'\fR\fIn\fR (\f(CW\*(C`sperl5.8.4\*(C'\fR for this release). \f(CW\*(C`suidperl\*(C'\fR +is installed as a hard link to \f(CW\*(C`perl\*(C'\fR; both \f(CW\*(C`suidperl\*(C'\fR and \f(CW\*(C`perl\*(C'\fR will +invoke \f(CW\*(C`sperl5.8.4\*(C'\fR automatically the set uid binary, so this change should +be completely transparent. +.PP +For new projects the core perl team would strongly recommend that you use +dedicated, single purpose security tools such as \f(CW\*(C`sudo\*(C'\fR in preference to +\&\f(CW\*(C`suidperl\*(C'\fR. +.SS "format" +.IX Subsection "format" +In addition to bug fixes, \f(CW\*(C`format\*(C'\fR's features have been enhanced. See +perlform +.SH "Modules and Pragmata" +.IX Header "Modules and Pragmata" +The (mis)use of \f(CW\*(C`/tmp\*(C'\fR in core modules and documentation has been tidied up. +Some modules available both within the perl core and independently from \s-1CPAN\s0 +(\*(L"dual-life modules\*(R") have not yet had these changes applied; the changes +will be integrated into future stable perl releases as the modules are +updated on \s-1CPAN.\s0 +.SS "Updated modules" +.IX Subsection "Updated modules" +.IP "Attribute::Handlers" 4 +.IX Item "Attribute::Handlers" +.PD 0 +.IP "B" 4 +.IX Item "B" +.IP "Benchmark" 4 +.IX Item "Benchmark" +.IP "\s-1CGI\s0" 4 +.IX Item "CGI" +.IP "Carp" 4 +.IX Item "Carp" +.IP "Cwd" 4 +.IX Item "Cwd" +.IP "Exporter" 4 +.IX Item "Exporter" +.IP "File::Find" 4 +.IX Item "File::Find" +.IP "\s-1IO\s0" 4 +.IX Item "IO" +.IP "IPC::Open3" 4 +.IX Item "IPC::Open3" +.IP "Local::Maketext" 4 +.IX Item "Local::Maketext" +.IP "Math::BigFloat" 4 +.IX Item "Math::BigFloat" +.IP "Math::BigInt" 4 +.IX Item "Math::BigInt" +.IP "Math::BigRat" 4 +.IX Item "Math::BigRat" +.IP "MIME::Base64" 4 +.IX Item "MIME::Base64" +.IP "ODBM_File" 4 +.IX Item "ODBM_File" +.IP "\s-1POSIX\s0" 4 +.IX Item "POSIX" +.IP "Shell" 4 +.IX Item "Shell" +.IP "Socket" 4 +.IX Item "Socket" +.PD +There is experimental support for Linux abstract Unix domain sockets. +.IP "Storable" 4 +.IX Item "Storable" +.PD 0 +.IP "Switch" 4 +.IX Item "Switch" +.PD +Synced with its \s-1CPAN\s0 version 2.10 +.IP "Sys::Syslog" 4 +.IX Item "Sys::Syslog" +\&\f(CW\*(C`syslog()\*(C'\fR can now use numeric constants for facility names and priorities, +in addition to strings. +.IP "Term::ANSIColor" 4 +.IX Item "Term::ANSIColor" +.PD 0 +.IP "Time::HiRes" 4 +.IX Item "Time::HiRes" +.IP "Unicode::UCD" 4 +.IX Item "Unicode::UCD" +.IP "Win32" 4 +.IX Item "Win32" +.PD +Win32.pm/Win32.xs has moved from the libwin32 module to core Perl +.IP "base" 4 +.IX Item "base" +.PD 0 +.IP "open" 4 +.IX Item "open" +.IP "threads" 4 +.IX Item "threads" +.PD +Detached threads are now also supported on Windows. +.IP "utf8" 4 +.IX Item "utf8" +.SH "Performance Enhancements" +.IX Header "Performance Enhancements" +.PD 0 +.IP "\(bu" 4 +.PD +Accelerated Unicode case mappings (\f(CW\*(C`/i\*(C'\fR, \f(CW\*(C`lc\*(C'\fR, \f(CW\*(C`uc\*(C'\fR, etc). +.IP "\(bu" 4 +In place sort optimised (eg \f(CW\*(C`@a = sort @a\*(C'\fR) +.IP "\(bu" 4 +Unnecessary assignment optimised away in +.Sp +.Vb 3 +\& my $s = undef; +\& my @a = (); +\& my %h = (); +.Ve +.IP "\(bu" 4 +Optimised \f(CW\*(C`map\*(C'\fR in scalar context +.SH "Utility Changes" +.IX Header "Utility Changes" +The Perl debugger (\fIlib/perl5db.pl\fR) can now save all debugger commands for +sourcing later, and can display the parent inheritance tree of a given class. +.SH "Installation and Configuration Improvements" +.IX Header "Installation and Configuration Improvements" +The build process on both \s-1VMS\s0 and Windows has had several minor improvements +made. On Windows Borland's C compiler can now compile perl with PerlIO and/or +\&\s-1USE_LARGE_FILES\s0 enabled. +.PP +\&\f(CW\*(C`perl.exe\*(C'\fR on Windows now has a \*(L"Camel\*(R" logo icon. The use of a camel with +the topic of Perl is a trademark of O'Reilly and Associates Inc., and is used +with their permission (ie distribution of the source, compiling a Windows +executable from it, and using that executable locally). Use of the supplied +camel for anything other than a perl executable's icon is specifically not +covered, and anyone wishing to redistribute perl binaries \fIwith\fR the icon +should check directly with O'Reilly beforehand. +.PP +Perl should build cleanly on Stratus \s-1VOS\s0 once more. +.SH "Selected Bug Fixes" +.IX Header "Selected Bug Fixes" +More utf8 bugs fixed, notably in how \f(CW\*(C`chomp\*(C'\fR, \f(CW\*(C`chop\*(C'\fR, \f(CW\*(C`send\*(C'\fR, and +\&\f(CW\*(C`syswrite\*(C'\fR and interact with utf8 data. Concatenation now works correctly +when \f(CW\*(C`use bytes;\*(C'\fR is in scope. +.PP +Pragmata are now correctly propagated into (?{...}) constructions in regexps. +Code such as +.PP +.Vb 1 +\& my $x = qr{ ... (??{ $x }) ... }; +.Ve +.PP +will now (correctly) fail under use strict. (As the inner \f(CW$x\fR is and +has always referred to \f(CW$::x\fR) +.PP +The \*(L"const in void context\*(R" warning has been suppressed for a constant in an +optimised-away boolean expression such as \f(CW\*(C`5 || print;\*(C'\fR +.PP +\&\f(CW\*(C`perl \-i\*(C'\fR could \f(CW\*(C`fchmod(stdin)\*(C'\fR by mistake. This is serious if stdin is +attached to a terminal, and perl is running as root. Now fixed. +.SH "New or Changed Diagnostics" +.IX Header "New or Changed Diagnostics" +\&\f(CW\*(C`Carp\*(C'\fR and the internal diagnostic routines used by \f(CW\*(C`Devel::Peek\*(C'\fR have been +made clearer, as described in \*(L"Incompatible Changes\*(R" +.SH "Changed Internals" +.IX Header "Changed Internals" +Some bugs have been fixed in the hash internals. Restricted hashes and +their place holders are now allocated and deleted at slightly different times, +but this should not be visible to user code. +.SH "Future Directions" +.IX Header "Future Directions" +Code freeze for the next maintenance release (5.8.5) will be on 30th June +2004, with release by mid July. +.SH "Platform Specific Problems" +.IX Header "Platform Specific Problems" +This release is known not to build on Windows 95. +.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 \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. |