1PERL583DELTA(1)        Perl Programmers Reference Guide        PERL583DELTA(1)
2
3
4

NAME

6       perl583delta - what is new for perl v5.8.3
7

DESCRIPTION

9       This document describes differences between the 5.8.2 release and the
10       5.8.3 release.
11
12       If you are upgrading from an earlier release such as 5.6.1, first read
13       the perl58delta, which describes differences between 5.6.0 and 5.8.0,
14       and the perl581delta and perl582delta, which describe differences
15       between 5.8.0, 5.8.1 and 5.8.2
16

Incompatible Changes

18       There are no changes incompatible with 5.8.2.
19

Core Enhancements

21       A "SCALAR" method is now available for tied hashes. This is called when
22       a tied hash is used in scalar context, such as
23
24           if (%tied_hash) {
25               ...
26           }
27
28       The old behaviour was that %tied_hash would return whatever would have
29       been returned for that hash before the hash was tied (so usually 0).
30       The new behaviour in the absence of a SCALAR method is to return TRUE
31       if in the middle of an "each" iteration, and otherwise call FIRSTKEY to
32       check if the hash is empty (making sure that a subsequent "each" will
33       also begin by calling FIRSTKEY). Please see "SCALAR" in perltie for the
34       full details and caveats.
35

Modules and Pragmata

37       CGI
38       Cwd
39       Digest
40       Digest::MD5
41       Encode
42       File::Spec
43       FindBin
44           A function "again" is provided to resolve problems where modules in
45           different directories wish to use FindBin.
46
47       List::Util
48           You can now weaken references to read only values.
49
50       Math::BigInt
51       PodParser
52       Pod::Perldoc
53       POSIX
54       Unicode::Collate
55       Unicode::Normalize
56       Test::Harness
57       threads::shared
58           "cond_wait" has a new two argument form. "cond_timedwait" has been
59           added.
60

Utility Changes

62       "find2perl" now assumes "-print" as a default action. Previously, it
63       needed to be specified explicitly.
64
65       A new utility, "prove", makes it easy to run an individual regression
66       test at the command line. "prove" is part of Test::Harness, which users
67       of earlier Perl versions can install from CPAN.
68

New Documentation

70       The documentation has been revised in places to produce more standard
71       manpages.
72
73       The documentation for the special code blocks (BEGIN, CHECK, INIT, END)
74       has been improved.
75

Installation and Configuration Improvements

77       Perl now builds on OpenVMS I64
78

Selected Bug Fixes

80       Using substr() on a UTF8 string could cause subsequent accesses on that
81       string to return garbage. This was due to incorrect UTF8 offsets being
82       cached, and is now fixed.
83
84       join() could return garbage when the same join() statement was used to
85       process 8 bit data having earlier processed UTF8 data, due to the flags
86       on that statement's temporary workspace not being reset correctly. This
87       is now fixed.
88
89       "$a .. $b" will now work as expected when either $a or $b is "undef"
90
91       Using Unicode keys with tied hashes should now work correctly.
92
93       Reading $^E now preserves $!. Previously, the C code implementing $^E
94       did not preserve "errno", so reading $^E could cause "errno" and
95       therefore $! to change unexpectedly.
96
97       Reentrant functions will (once more) work with C++. 5.8.2 introduced a
98       bugfix which accidentally broke the compilation of Perl extensions
99       written in C++
100

New or Changed Diagnostics

102       The fatal error "DESTROY created new reference to dead object" is now
103       documented in perldiag.
104

Changed Internals

106       The hash code has been refactored to reduce source duplication. The
107       external interface is unchanged, and aside from the bug fixes described
108       above, there should be no change in behaviour.
109
110       "hv_clear_placeholders" is now part of the perl API
111
112       Some C macros have been tidied. In particular macros which create
113       temporary local variables now name these variables more defensively,
114       which should avoid bugs where names clash.
115
116       <signal.h> is now always included.
117

Configuration and Building

119       "Configure" now invokes callbacks regardless of the value of the
120       variable they are called for. Previously callbacks were only invoked in
121       the "case $variable $define)" branch. This change should only affect
122       platform maintainers writing configuration hints files.
123

Platform Specific Problems

125       The regression test ext/threads/shared/t/wait.t fails on early RedHat 9
126       and HP-UX 10.20 due to bugs in their threading implementations.  RedHat
127       users should see https://rhn.redhat.com/errata/RHBA-2003-136.html and
128       consider upgrading their glibc.
129

Known Problems

131       Detached threads aren't supported on Windows yet, as they may lead to
132       memory access violation problems.
133
134       There is a known race condition opening scripts in "suidperl".
135       "suidperl" is neither built nor installed by default, and has been
136       deprecated since perl 5.8.0. You are advised to replace use of suidperl
137       with tools such as sudo ( http://www.courtesan.com/sudo/ )
138
139       We have a backlog of unresolved bugs. Dealing with bugs and bug reports
140       is unglamorous work; not something ideally suited to volunteer labour,
141       but that is all that we have.
142
143       The perl5 development team are implementing changes to help address
144       this problem, which should go live in early 2004.
145

Future Directions

147       Code freeze for the next maintenance release (5.8.4) is on March 31st
148       2004, with release expected by mid April. Similarly 5.8.5's freeze will
149       be at the end of June, with release by mid July.
150

Obituary

152       Iain 'Spoon' Truskett, Perl hacker, author of perlreref and contributor
153       to CPAN, died suddenly on 29th December 2003, aged 24.  He will be
154       missed.
155

Reporting Bugs

157       If you find what you think is a bug, you might check the articles
158       recently posted to the comp.lang.perl.misc newsgroup and the perl bug
159       database at http://bugs.perl.org.  There may also be information at
160       http://www.perl.org, the Perl Home Page.
161
162       If you believe you have an unreported bug, please run the perlbug
163       program included with your release.  Be sure to trim your bug down to a
164       tiny but sufficient test case.  Your bug report, along with the output
165       of "perl -V", will be sent off to perlbug@perl.org to be analysed by
166       the Perl porting team.  You can browse and search the Perl 5 bugs at
167       http://bugs.perl.org/
168

SEE ALSO

170       The Changes file for exhaustive details on what changed.
171
172       The INSTALL file for how to build Perl.
173
174       The README file for general stuff.
175
176       The Artistic and Copying files for copyright information.
177
178
179
180perl v5.34.0                      2021-10-18                   PERL583DELTA(1)
Impressum