1PERL584DELTA(1) Perl Programmers Reference Guide PERL584DELTA(1)
2
3
4
6 perl584delta - what is new for perl v5.8.4
7
9 This document describes differences between the 5.8.3 release and the
10 5.8.4 release.
11
13 Many minor bugs have been fixed. Scripts which happen to rely on previ‐
14 ously erroneous behaviour will consider these fixes as incompatible
15 changes :-) You are advised to perform sufficient acceptance testing on
16 this release to satisfy yourself that this does not affect you, before
17 putting this release into production.
18
19 The diagnostic output of Carp has been changed slightly, to add a space
20 after the comma between arguments. This makes it much easier for tools
21 such as web browsers to wrap it, but might confuse any automatic tools
22 which perform detailed parsing of Carp output.
23
24 The internal dump output has been improved, so that non-printable char‐
25 acters such as newline and backspace are output in "\x" notation,
26 rather than octal. This might just confuse non-robust tools which parse
27 the output of modules such as Devel::Peek.
28
30 Malloc wrapping
31
32 Perl can now be built to detect attempts to assign pathologically large
33 chunks of memory. Previously such assignments would suffer from inte‐
34 ger wrap-around during size calculations causing a misallocation, which
35 would crash perl, and could theoretically be used for "stack smashing"
36 attacks. The wrapping defaults to enabled on platforms where we know
37 it works (most AIX configurations, BSDi, Darwin, DEC OSF/1, FreeBSD,
38 HP/UX, GNU Linux, OpenBSD, Solaris, VMS and most Win32 compilers) and
39 defaults to disabled on other platforms.
40
41 Unicode Character Database 4.0.1
42
43 The copy of the Unicode Character Database included in Perl 5.8 has
44 been updated to 4.0.1 from 4.0.0.
45
46 suidperl less insecure
47
48 Paul Szabo has analysed and patched "suidperl" to remove existing known
49 insecurities. Currently there are no known holes in "suidperl", but
50 previous experience shows that we cannot be confident that these were
51 the last. You may no longer invoke the set uid perl directly, so to
52 preserve backwards compatibility with scripts that invoke
53 #!/usr/bin/suidperl the only set uid binary is now "sperl5.8."n
54 ("sperl5.8.4" for this release). "suidperl" is installed as a hard link
55 to "perl"; both "suidperl" and "perl" will invoke "sperl5.8.4" automat‐
56 ically the set uid binary, so this change should be completely trans‐
57 parent.
58
59 For new projects the core perl team would strongly recommend that you
60 use dedicated, single purpose security tools such as "sudo" in prefer‐
61 ence to "suidperl".
62
63 format
64
65 In addition to bug fixes, "format"'s features have been enhanced. See
66 perlform
67
69 The (mis)use of "/tmp" in core modules and documentation has been
70 tidied up. Some modules available both within the perl core and inde‐
71 pendently from CPAN ("dual-life modules") have not yet had these
72 changes applied; the changes will be integrated into future stable perl
73 releases as the modules are updated on CPAN.
74
75 Updated modules
76
77 Attribute::Handlers
78 B
79 Benchmark
80 CGI
81 Carp
82 Cwd
83 Exporter
84 File::Find
85 IO
86 IPC::Open3
87 Local::Maketext
88 Math::BigFloat
89 Math::BigInt
90 Math::BigRat
91 MIME::Base64
92 ODBM_File
93 POSIX
94 Shell
95 Socket
96 There is experimental support for Linux abstract Unix domain sock‐
97 ets.
98
99 Storable
100 Switch
101 Synced with its CPAN version 2.10
102
103 Sys::Syslog
104 "syslog()" can now use numeric constants for facility names and
105 priorities, in addition to strings.
106
107 Term::ANSIColor
108 Time::HiRes
109 Unicode::UCD
110 Win32
111 Win32.pm/Win32.xs has moved from the libwin32 module to core Perl
112
113 base
114 open
115 threads
116 Detached threads are now also supported on Windows.
117
118 utf8
119
121 · Accelerated Unicode case mappings ("/i", "lc", "uc", etc).
122
123 · In place sort optimised (eg "@a = sort @a")
124
125 · Unnecessary assignment optimised away in
126
127 my $s = undef;
128 my @a = ();
129 my %h = ();
130
131 · Optimised "map" in scalar context
132
134 The Perl debugger (lib/perl5db.pl) can now save all debugger commands
135 for sourcing later, and can display the parent inheritance tree of a
136 given class.
137
139 The build process on both VMS and Windows has had several minor
140 improvements made. On Windows Borland's C compiler can now compile perl
141 with PerlIO and/or USE_LARGE_FILES enabled.
142
143 "perl.exe" on Windows now has a "Camel" logo icon. The use of a camel
144 with the topic of Perl is a trademark of O'Reilly and Associates Inc.,
145 and is used with their permission (ie distribution of the source, com‐
146 piling a Windows executable from it, and using that executable
147 locally). Use of the supplied camel for anything other than a perl exe‐
148 cutable's icon is specifically not covered, and anyone wishing to
149 redistribute perl binaries with the icon should check directly with
150 O'Reilly beforehand.
151
152 Perl should build cleanly on Stratus VOS once more.
153
155 More utf8 bugs fixed, notably in how "chomp", "chop", "send", and
156 "syswrite" and interact with utf8 data. Concatenation now works cor‐
157 rectly when "use bytes;" is in scope.
158
159 Pragmata are now correctly propagated into (?{...}) constructions in
160 regexps. Code such as
161
162 my $x = qr{ ... (??{ $x }) ... };
163
164 will now (correctly) fail under use strict. (As the inner $x is and has
165 always referred to $::x)
166
167 The "const in void context" warning has been suppressed for a constant
168 in an optimised-away boolean expression such as "5 ⎪⎪ print;"
169
170 "perl -i" could "fchmod(stdin)" by mistake. This is serious if stdin is
171 attached to a terminal, and perl is running as root. Now fixed.
172
174 "Carp" and the internal diagnostic routines used by "Devel::Peek" have
175 been made clearer, as described in "Incompatible Changes"
176
178 Some bugs have been fixed in the hash internals. Restricted hashes and
179 their place holders are now allocated and deleted at slightly different
180 times, but this should not be visible to user code.
181
183 Code freeze for the next maintenance release (5.8.5) will be on 30th
184 June 2004, with release by mid July.
185
187 This release is known not to build on Windows 95.
188
190 If you find what you think is a bug, you might check the articles
191 recently posted to the comp.lang.perl.misc newsgroup and the perl bug
192 database at http://bugs.perl.org. There may also be information at
193 http://www.perl.org, the Perl Home Page.
194
195 If you believe you have an unreported bug, please run the perlbug pro‐
196 gram included with your release. Be sure to trim your bug down to a
197 tiny but sufficient test case. Your bug report, along with the output
198 of "perl -V", will be sent off to perlbug@perl.org to be analysed by
199 the Perl porting team. You can browse and search the Perl 5 bugs at
200 http://bugs.perl.org/
201
203 The Changes file for exhaustive details on what changed.
204
205 The INSTALL file for how to build Perl.
206
207 The README file for general stuff.
208
209 The Artistic and Copying files for copyright information.
210
211
212
213perl v5.8.8 2006-01-07 PERL584DELTA(1)