1 | =head1 NAME
|
---|
2 |
|
---|
3 | perl586delta - what is new for perl v5.8.6
|
---|
4 |
|
---|
5 | =head1 DESCRIPTION
|
---|
6 |
|
---|
7 | This document describes differences between the 5.8.5 release and
|
---|
8 | the 5.8.6 release.
|
---|
9 |
|
---|
10 | =head1 Incompatible Changes
|
---|
11 |
|
---|
12 | There are no changes incompatible with 5.8.5.
|
---|
13 |
|
---|
14 | =head1 Core Enhancements
|
---|
15 |
|
---|
16 | The perl interpreter is now more tolerant of UTF-16-encoded scripts.
|
---|
17 |
|
---|
18 | On Win32, Perl can now use non-IFS compatible LSPs, which allows Perl to
|
---|
19 | work in conjunction with firewalls such as McAfee Guardian. For full details
|
---|
20 | see the file F<README.win32>, particularly if you're running Win95.
|
---|
21 |
|
---|
22 | =head1 Modules and Pragmata
|
---|
23 |
|
---|
24 | =over 4
|
---|
25 |
|
---|
26 | =item *
|
---|
27 |
|
---|
28 | With the C<base> pragma, an intermediate class with no fields used to messes
|
---|
29 | up private fields in the base class. This has been fixed.
|
---|
30 |
|
---|
31 | =item *
|
---|
32 |
|
---|
33 | Cwd upgraded to version 3.01 (as part of the new PathTools distribution)
|
---|
34 |
|
---|
35 | =item *
|
---|
36 |
|
---|
37 | Devel::PPPort upgraded to version 3.03
|
---|
38 |
|
---|
39 | =item *
|
---|
40 |
|
---|
41 | File::Spec upgraded to version 3.01 (as part of the new PathTools distribution)
|
---|
42 |
|
---|
43 | =item *
|
---|
44 |
|
---|
45 | Encode upgraded to version 2.08
|
---|
46 |
|
---|
47 | =item *
|
---|
48 |
|
---|
49 | ExtUtils::MakeMaker remains at version 6.17, as later stable releases currently
|
---|
50 | available on CPAN have some issues with core modules on some core platforms.
|
---|
51 |
|
---|
52 | =item *
|
---|
53 |
|
---|
54 | I18N::LangTags upgraded to version 0.35
|
---|
55 |
|
---|
56 | =item *
|
---|
57 |
|
---|
58 | Math::BigInt upgraded to version 1.73
|
---|
59 |
|
---|
60 | =item *
|
---|
61 |
|
---|
62 | Math::BigRat upgraded to version 0.13
|
---|
63 |
|
---|
64 | =item *
|
---|
65 |
|
---|
66 | MIME::Base64 upgraded to version 3.05
|
---|
67 |
|
---|
68 | =item *
|
---|
69 |
|
---|
70 | POSIX::sigprocmask function can now retrieve the current signal mask without
|
---|
71 | also setting it.
|
---|
72 |
|
---|
73 | =item *
|
---|
74 |
|
---|
75 | Time::HiRes upgraded to version 1.65
|
---|
76 |
|
---|
77 | =back
|
---|
78 |
|
---|
79 | =head1 Utility Changes
|
---|
80 |
|
---|
81 | Perl has a new -dt command-line flag, which enables threads support in the
|
---|
82 | debugger.
|
---|
83 |
|
---|
84 | =head1 Performance Enhancements
|
---|
85 |
|
---|
86 | C<reverse sort ...> is now optimized to sort in reverse, avoiding the
|
---|
87 | generation of a temporary intermediate list.
|
---|
88 |
|
---|
89 | C<for (reverse @foo)> now iterates in reverse, avoiding the generation of a
|
---|
90 | temporary reversed list.
|
---|
91 |
|
---|
92 | =head1 Selected Bug Fixes
|
---|
93 |
|
---|
94 | The regexp engine is now more robust when given invalid utf8 input, as is
|
---|
95 | sometimes generated by buggy XS modules.
|
---|
96 |
|
---|
97 | C<foreach> on threads::shared array used to be able to crash Perl. This bug
|
---|
98 | has now been fixed.
|
---|
99 |
|
---|
100 | A regexp in C<STDOUT>'s destructor used to coredump, because the regexp pad
|
---|
101 | was already freed. This has been fixed.
|
---|
102 |
|
---|
103 | C<goto &> is now more robust - bugs in deep recursion and chained C<goto &>
|
---|
104 | have been fixed.
|
---|
105 |
|
---|
106 | Using C<delete> on an array no longer leaks memory. A C<pop> of an item from a
|
---|
107 | shared array reference no longer causes a leak.
|
---|
108 |
|
---|
109 | C<eval_sv()> failing a taint test could corrupt the stack - this has been
|
---|
110 | fixed.
|
---|
111 |
|
---|
112 | On platforms with 64 bit pointers numeric comparison operators used to
|
---|
113 | erroneously compare the addresses of references that are overloaded, rather
|
---|
114 | than using the overloaded values. This has been fixed.
|
---|
115 |
|
---|
116 | C<read> into a UTF8-encoded buffer with an offset off the end of the buffer
|
---|
117 | no longer mis-calculates buffer lengths.
|
---|
118 |
|
---|
119 | Although Perl has promised since version 5.8 that C<sort()> would be
|
---|
120 | stable, the two cases C<sort {$b cmp $a}> and C<< sort {$b <=> $a} >> could
|
---|
121 | produce non-stable sorts. This is corrected in perl5.8.6.
|
---|
122 |
|
---|
123 | Localising C<$^D> no longer generates a diagnostic message about valid -D
|
---|
124 | flags.
|
---|
125 |
|
---|
126 | =head1 New or Changed Diagnostics
|
---|
127 |
|
---|
128 | For -t and -T,
|
---|
129 | Too late for "-T" option
|
---|
130 | has been changed to the more informative
|
---|
131 | "-T" is on the #! line, it must also be used on the command line
|
---|
132 |
|
---|
133 | =head1 Changed Internals
|
---|
134 |
|
---|
135 | From now on all applications embedding perl will behave as if perl
|
---|
136 | were compiled with -DPERL_USE_SAFE_PUTENV. See "Environment access" in
|
---|
137 | the F<INSTALL> file for details.
|
---|
138 |
|
---|
139 | Most C<C> source files now have comments at the top explaining their purpose,
|
---|
140 | which should help anyone wishing to get an overview of the implementation.
|
---|
141 |
|
---|
142 | =head1 New Tests
|
---|
143 |
|
---|
144 | There are significantly more tests for the C<B> suite of modules.
|
---|
145 |
|
---|
146 | =head1 Reporting Bugs
|
---|
147 |
|
---|
148 | If you find what you think is a bug, you might check the articles
|
---|
149 | recently posted to the comp.lang.perl.misc newsgroup and the perl
|
---|
150 | bug database at http://bugs.perl.org. There may also be
|
---|
151 | information at http://www.perl.org, the Perl Home Page.
|
---|
152 |
|
---|
153 | If you believe you have an unreported bug, please run the B<perlbug>
|
---|
154 | program included with your release. Be sure to trim your bug down
|
---|
155 | to a tiny but sufficient test case. Your bug report, along with the
|
---|
156 | output of C<perl -V>, will be sent off to [email protected] to be
|
---|
157 | analysed by the Perl porting team. You can browse and search
|
---|
158 | the Perl 5 bugs at http://bugs.perl.org/
|
---|
159 |
|
---|
160 | =head1 SEE ALSO
|
---|
161 |
|
---|
162 | The F<Changes> file for exhaustive details on what changed.
|
---|
163 |
|
---|
164 | The F<INSTALL> file for how to build Perl.
|
---|
165 |
|
---|
166 | The F<README> file for general stuff.
|
---|
167 |
|
---|
168 | The F<Artistic> and F<Copying> files for copyright information.
|
---|
169 |
|
---|
170 | =cut
|
---|