| 1 | =head1 NAME
|
|---|
| 2 |
|
|---|
| 3 | perl585delta - what is new for perl v5.8.5
|
|---|
| 4 |
|
|---|
| 5 | =head1 DESCRIPTION
|
|---|
| 6 |
|
|---|
| 7 | This document describes differences between the 5.8.4 release and
|
|---|
| 8 | the 5.8.5 release.
|
|---|
| 9 |
|
|---|
| 10 | =head1 Incompatible Changes
|
|---|
| 11 |
|
|---|
| 12 | There are no changes incompatible with 5.8.4.
|
|---|
| 13 |
|
|---|
| 14 | =head1 Core Enhancements
|
|---|
| 15 |
|
|---|
| 16 | Perl's regular expression engine now contains support for matching on the
|
|---|
| 17 | intersection of two Unicode character classes. You can also now refer to
|
|---|
| 18 | user-defined character classes from within other user defined character
|
|---|
| 19 | classes.
|
|---|
| 20 |
|
|---|
| 21 | =head1 Modules and Pragmata
|
|---|
| 22 |
|
|---|
| 23 | =over 4
|
|---|
| 24 |
|
|---|
| 25 | =item *
|
|---|
| 26 |
|
|---|
| 27 | Carp improved to work nicely with Safe. Carp's message reporting should now
|
|---|
| 28 | be anomaly free - it will always print out line number information.
|
|---|
| 29 |
|
|---|
| 30 | =item *
|
|---|
| 31 |
|
|---|
| 32 | CGI upgraded to version 3.05
|
|---|
| 33 |
|
|---|
| 34 | =item *
|
|---|
| 35 |
|
|---|
| 36 | charnames now avoids clobbering $_
|
|---|
| 37 |
|
|---|
| 38 | =item *
|
|---|
| 39 |
|
|---|
| 40 | Digest upgraded to version 1.08
|
|---|
| 41 |
|
|---|
| 42 | =item *
|
|---|
| 43 |
|
|---|
| 44 | Encode upgraded to version 2.01
|
|---|
| 45 |
|
|---|
| 46 | =item *
|
|---|
| 47 |
|
|---|
| 48 | FileCache upgraded to version 1.04
|
|---|
| 49 |
|
|---|
| 50 | =item *
|
|---|
| 51 |
|
|---|
| 52 | libnet upgraded to version 1.19
|
|---|
| 53 |
|
|---|
| 54 | =item *
|
|---|
| 55 |
|
|---|
| 56 | Pod::Parser upgraded to version 1.28
|
|---|
| 57 |
|
|---|
| 58 | =item *
|
|---|
| 59 |
|
|---|
| 60 | Pod::Perldoc upgraded to version 3.13
|
|---|
| 61 |
|
|---|
| 62 | =item *
|
|---|
| 63 |
|
|---|
| 64 | Pod::LaTeX upgraded to version 0.57
|
|---|
| 65 |
|
|---|
| 66 | =item *
|
|---|
| 67 |
|
|---|
| 68 | Safe now works properly with Carp
|
|---|
| 69 |
|
|---|
| 70 | =item *
|
|---|
| 71 |
|
|---|
| 72 | Scalar-List-Utils upgraded to version 1.14
|
|---|
| 73 |
|
|---|
| 74 | =item *
|
|---|
| 75 |
|
|---|
| 76 | Shell's documentation has been re-written, and its historical partial
|
|---|
| 77 | auto-quoting of command arguments can now be disabled.
|
|---|
| 78 |
|
|---|
| 79 | =item *
|
|---|
| 80 |
|
|---|
| 81 | Test upgraded to version 1.25
|
|---|
| 82 |
|
|---|
| 83 | =item *
|
|---|
| 84 |
|
|---|
| 85 | Test::Harness upgraded to version 2.42
|
|---|
| 86 |
|
|---|
| 87 | =item *
|
|---|
| 88 |
|
|---|
| 89 | Time::Local upgraded to version 1.10
|
|---|
| 90 |
|
|---|
| 91 | =item *
|
|---|
| 92 |
|
|---|
| 93 | Unicode::Collate upgraded to version 0.40
|
|---|
| 94 |
|
|---|
| 95 | =item *
|
|---|
| 96 |
|
|---|
| 97 | Unicode::Normalize upgraded to version 0.30
|
|---|
| 98 |
|
|---|
| 99 | =back
|
|---|
| 100 |
|
|---|
| 101 | =head1 Utility Changes
|
|---|
| 102 |
|
|---|
| 103 | =head2 Perl's debugger
|
|---|
| 104 |
|
|---|
| 105 | The debugger can now emulate stepping backwards, by restarting and rerunning
|
|---|
| 106 | all bar the last command from a saved command history.
|
|---|
| 107 |
|
|---|
| 108 | =head2 h2ph
|
|---|
| 109 |
|
|---|
| 110 | F<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
|
|---|
| 112 | been introduced to deal with some of the headers of the newest versions of
|
|---|
| 113 | the glibc. The standard warning still applies; to quote F<h2ph>'s
|
|---|
| 114 | documentation, I<you may need to dicker with the files produced>.
|
|---|
| 115 |
|
|---|
| 116 | =head1 Installation and Configuration Improvements
|
|---|
| 117 |
|
|---|
| 118 | Perl 5.8.5 should build cleanly from source on LynxOS.
|
|---|
| 119 |
|
|---|
| 120 | =head1 Selected Bug Fixes
|
|---|
| 121 |
|
|---|
| 122 | =over 4
|
|---|
| 123 |
|
|---|
| 124 | =item *
|
|---|
| 125 |
|
|---|
| 126 | The in-place sort optimisation introduced in 5.8.4 had a bug. For example,
|
|---|
| 127 | in code such as
|
|---|
| 128 |
|
|---|
| 129 | @a = sort ($b, @a)
|
|---|
| 130 |
|
|---|
| 131 | the result would omit the value $b. This is now fixed.
|
|---|
| 132 |
|
|---|
| 133 | =item *
|
|---|
| 134 |
|
|---|
| 135 | The optimisation for unnecessary assignments introduced in 5.8.4 could give
|
|---|
| 136 | spurious warnings. This has been fixed.
|
|---|
| 137 |
|
|---|
| 138 | =item *
|
|---|
| 139 |
|
|---|
| 140 | Perl should now correctly detect and read BOM-marked and (BOMless) UTF-16
|
|---|
| 141 | scripts of either endianness.
|
|---|
| 142 |
|
|---|
| 143 | =item *
|
|---|
| 144 |
|
|---|
| 145 | Creating a new thread when weak references exist was buggy, and would often
|
|---|
| 146 | cause warnings at interpreter destruction time. The known bug is now fixed.
|
|---|
| 147 |
|
|---|
| 148 | =item *
|
|---|
| 149 |
|
|---|
| 150 | Several obscure bugs involving manipulating Unicode strings with C<substr> have
|
|---|
| 151 | been fixed.
|
|---|
| 152 |
|
|---|
| 153 | =item *
|
|---|
| 154 |
|
|---|
| 155 | Previously if Perl's file globbing function encountered a directory that it
|
|---|
| 156 | did not have permission to open it would return immediately, leading to
|
|---|
| 157 | unexpected truncation of the list of results. This has been fixed, to be
|
|---|
| 158 | consistent with Unix shells' globbing behaviour.
|
|---|
| 159 |
|
|---|
| 160 | =item *
|
|---|
| 161 |
|
|---|
| 162 | Thread creation time could vary wildly between identical runs. This was caused
|
|---|
| 163 | by a poor hashing algorithm in the thread cloning routines, which has now
|
|---|
| 164 | been fixed.
|
|---|
| 165 |
|
|---|
| 166 | =item *
|
|---|
| 167 |
|
|---|
| 168 | The internals of the ithreads implementation were not checking if OS-level
|
|---|
| 169 | thread creation had failed. threads->create() now returns C<undef> in if
|
|---|
| 170 | thread creation fails instead of crashing perl.
|
|---|
| 171 |
|
|---|
| 172 | =back
|
|---|
| 173 |
|
|---|
| 174 | =head1 New or Changed Diagnostics
|
|---|
| 175 |
|
|---|
| 176 | =over 4
|
|---|
| 177 |
|
|---|
| 178 | =item *
|
|---|
| 179 |
|
|---|
| 180 | Perl -V has several improvements
|
|---|
| 181 |
|
|---|
| 182 | =over 4
|
|---|
| 183 |
|
|---|
| 184 | =item *
|
|---|
| 185 |
|
|---|
| 186 | correctly outputs local patch names that contain embedded code snippets
|
|---|
| 187 | or other characters that used to confuse it.
|
|---|
| 188 |
|
|---|
| 189 | =item *
|
|---|
| 190 |
|
|---|
| 191 | arguments to -V that look like regexps will give multiple lines of output.
|
|---|
| 192 |
|
|---|
| 193 | =item *
|
|---|
| 194 |
|
|---|
| 195 | a trailing colon suppresses the linefeed and ';' terminator, allowing
|
|---|
| 196 | embedding of queries into shell commands.
|
|---|
| 197 |
|
|---|
| 198 | =item *
|
|---|
| 199 |
|
|---|
| 200 | a leading colon removes the 'name=' part of the response, allowing mapping to
|
|---|
| 201 | any name.
|
|---|
| 202 |
|
|---|
| 203 | =back
|
|---|
|
|---|