1=head1 NAME 2 3perl585delta - what is new for perl v5.8.5 4 5=head1 DESCRIPTION 6 7This document describes differences between the 5.8.4 release and 8the 5.8.5 release. 9 10=head1 Incompatible Changes 11 12There are no changes incompatible with 5.8.4. 13 14=head1 Core Enhancements 15 16Perl's regular expression engine now contains support for matching on the 17intersection of two Unicode character classes. You can also now refer to 18user-defined character classes from within other user defined character 19classes. 20 21=head1 Modules and Pragmata 22 23=over 4 24 25=item * 26 27Carp improved to work nicely with Safe. Carp's message reporting should now 28be anomaly free - it will always print out line number information. 29 30=item * 31 32CGI upgraded to version 3.05 33 34=item * 35 36charnames now avoids clobbering $_ 37 38=item * 39 40Digest upgraded to version 1.08 41 42=item * 43 44Encode upgraded to version 2.01 45 46=item * 47 48FileCache upgraded to version 1.04 49 50=item * 51 52libnet upgraded to version 1.19 53 54=item * 55 56Pod::Parser upgraded to version 1.28 57 58=item * 59 60Pod::Perldoc upgraded to version 3.13 61 62=item * 63 64Pod::LaTeX upgraded to version 0.57 65 66=item * 67 68Safe now works properly with Carp 69 70=item * 71 72Scalar-List-Utils upgraded to version 1.14 73 74=item * 75 76Shell's documentation has been re-written, and its historical partial 77auto-quoting of command arguments can now be disabled. 78 79=item * 80 81Test upgraded to version 1.25 82 83=item * 84 85Test::Harness upgraded to version 2.42 86 87=item * 88 89Time::Local upgraded to version 1.10 90 91=item * 92 93Unicode::Collate upgraded to version 0.40 94 95=item * 96 97Unicode::Normalize upgraded to version 0.30 98 99=back 100 101=head1 Utility Changes 102 103=head2 Perl's debugger 104 105The debugger can now emulate stepping backwards, by restarting and rerunning 106all bar the last command from a saved command history. 107 108=head2 h2ph 109 110F<h2ph> is now able to understand a very limited set of C inline functions 111-- basically, the inline functions that look like CPP macros. This has 112been introduced to deal with some of the headers of the newest versions of 113the glibc. The standard warning still applies; to quote F<h2ph>'s 114documentation, I<you may need to dicker with the files produced>. 115 116=head1 Installation and Configuration Improvements 117 118Perl 5.8.5 should build cleanly from source on LynxOS. 119 120=head1 Selected Bug Fixes 121 122=over 4 123 124=item * 125 126The in-place sort optimisation introduced in 5.8.4 had a bug. For example, 127in code such as 128 129 @a = sort ($b, @a) 130 131the result would omit the value $b. This is now fixed. 132 133=item * 134 135The optimisation for unnecessary assignments introduced in 5.8.4 could give 136spurious warnings. This has been fixed. 137 138=item * 139 140Perl should now correctly detect and read BOM-marked and (BOMless) UTF-16 141scripts of either endianness. 142 143=item * 144 145Creating a new thread when weak references exist was buggy, and would often 146cause warnings at interpreter destruction time. The known bug is now fixed. 147 148=item * 149 150Several obscure bugs involving manipulating Unicode strings with C<substr> have 151been fixed. 152 153=item * 154 155Previously if Perl's file globbing function encountered a directory that it 156did not have permission to open it would return immediately, leading to 157unexpected truncation of the list of results. This has been fixed, to be 158consistent with Unix shells' globbing behaviour. 159 160=item * 161 162Thread creation time could vary wildly between identical runs. This was caused 163by a poor hashing algorithm in the thread cloning routines, which has now 164been fixed. 165 166=item * 167 168The internals of the ithreads implementation were not checking if OS-level 169thread creation had failed. threads->create() now returns C<undef> in if 170thread creation fails instead of crashing perl. 171 172=back 173 174=head1 New or Changed Diagnostics 175 176=over 4 177 178=item * 179 180Perl -V has several improvements 181 182=over 4 183 184=item * 185 186correctly outputs local patch names that contain embedded code snippets 187or other characters that used to confuse it. 188 189=item * 190 191arguments to -V that look like regexps will give multiple lines of output. 192 193=item * 194 195a trailing colon suppresses the linefeed and ';' terminator, allowing 196embedding of queries into shell commands. 197 198=item * 199 200a leading colon removes the 'name=' part of the response, allowing mapping to 201any name. 202 203=back 204 205=item * 206 207When perl fails to find the specified script, it now outputs a second line 208suggesting that the user use the C<-S> flag: 209 210 $ perl5.8.5 missing.pl 211 Can't open perl script "missing.pl": No such file or directory. 212 Use -S to search $PATH for it. 213 214=back 215 216=head1 Changed Internals 217 218The Unicode character class files used by the regular expression engine are 219now built at build time from the supplied Unicode consortium data files, 220instead of being shipped prebuilt. This makes the compressed Perl source 221tarball about 200K smaller. A side effect is that the layout of files inside 222lib/unicore has changed. 223 224=head1 Known Problems 225 226The regression test F<t/uni/class.t> is now performing considerably more 227tests, and can take several minutes to run even on a fast machine. 228 229=head1 Platform Specific Problems 230 231This release is known not to build on Windows 95. 232 233=head1 Reporting Bugs 234 235If you find what you think is a bug, you might check the articles 236recently posted to the comp.lang.perl.misc newsgroup and the perl 237bug database at http://bugs.perl.org. There may also be 238information at http://www.perl.org, the Perl Home Page. 239 240If you believe you have an unreported bug, please run the B<perlbug> 241program included with your release. Be sure to trim your bug down 242to a tiny but sufficient test case. Your bug report, along with the 243output of C<perl -V>, will be sent off to perlbug@perl.org to be 244analysed by the Perl porting team. You can browse and search 245the Perl 5 bugs at http://bugs.perl.org/ 246 247=head1 SEE ALSO 248 249The F<Changes> file for exhaustive details on what changed. 250 251The F<INSTALL> file for how to build Perl. 252 253The F<README> file for general stuff. 254 255The F<Artistic> and F<Copying> files for copyright information. 256 257=cut 258