1PERL5115DELTA(1) Perl Programmers Reference Guide PERL5115DELTA(1)
2
3
4
6 perl5115delta - what is new for perl v5.11.5
7
9 This document describes differences between the 5.11.4 release and the
10 5.11.5 release.
11
12 If you are upgrading from an earlier release such as 5.11.3, first read
13 perl5114delta, which describes differences between 5.11.3 and 5.11.4.
14
16 32-bit limit on substr arguments removed
17 The 32-bit limit on "substr" arguments has now been removed. The full
18 range of the system's signed and unsigned integers is now available for
19 the "pos" and "len" arguments.
20
22 Pragmata Changes
23 "version"
24 Upgraded from version 0.81 to 0.82.
25
26 The "is_lax" and "is_strict" functions can now be optionally
27 exported to the caller's namespace and are also now documented.
28
29 Undefined version objects are now uninitialized with zero rather
30 than "undef".
31
32 Updated Modules
33 "B::Debug"
34 Upgraded from version 1.11 to 1.12.
35
36 "CPAN"
37 Upgraded from version 1.94_53 to 1.94_56.
38
39 This resolves RT #72362, in which CPAN was ignoring
40 "configure_requires", and RT #72348, in which the command "o conf
41 init" in the CPAN shell could cause an exception to be thrown.
42
43 This module is also now built in a less specialized way, which
44 resolves a problem that caused "make" after "make clean" to fail,
45 fixing RT #72218.
46
47 "CPANPLUS::Dist::Build"
48 Upgraded from version 0.44 to 0.46.
49
50 This makes the prereq resolving fall back to _build/ querying if
51 the "prereq_data" action fails.
52
53 "Pod::Perldoc"
54 Upgraded from version 3.15_01 to 3.15_02.
55
56 "Pod::Plainer"
57 Upgraded from version 1.01 to 1.02.
58
59 "Safe"
60 Upgraded from version 2.21 to 2.22.
61
62 This resolves RT #72700, in which an exception thrown from a
63 closure was getting lost.
64
65 "Socket"
66 Upgraded from version 1.85 to 1.86.
67
68 This makes the new Socket implementation of "inet_pton" consistent
69 with the existing Socket6 implementation of "inet_pton", fixing RT
70 #72884.
71
72 "podlators"
73 Upgraded from version 2.2.2 to 2.3.1.
74
76 The syntax "unless (EXPR) BLOCK else BLOCK" is now documented as valid,
77 as is the syntax "unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else
78 BLOCK", although actually using the latter may not be the best idea for
79 the readability of your source code.
80
82 Configuration improvements
83 Support for SystemTap's "dtrace" compatibility layer has been added and
84 an issue with linking "miniperl" has been fixed in the process.
85
86 "less -R" is now used instead of "less" for "groff"'s new usage of ANSI
87 escape codes by setting $Config{less} (and thereby $Config{pager},
88 which fixes RT #72156.
89
90 USE_PERL_ATOF is now reported in the compile-time options listed by the
91 "-V" switch.
92
94 · Arbitrary whitespace is now allowed between "NAME" and "VERSION" in
95 "package NAME VERSION;" statements. (Fixes RT #72432)
96
97 · A panic caused by trying to load "charnames" when the parser is
98 already in error (e.g. by a missing "my" under "use strict;") is
99 now averted. This was a regression since Perl 5.10.0. (Fixes RT
100 #72590)
101
102 · Reading $! no longer causes a SEGV for out of range "errno" values.
103 (Fixes RT #72850)
104
105 · A possible SEGV in "/\N{...}/" has been fixed. This was a
106 regression since Perl 5.10.
107
108 · A possible SEGV when freeing a scalar that was upgraded to an
109 "SVt_REGEXP" type from a simple(r) scalar has been fixed.
110
111 · A type conversion bug in "gmtime64" that caused it to break around
112 "2**48" has been fixed.
113
114 · Interpolating a regex that makes use of the "charnames" pragma will
115 no longer cause a run-time error. (Fixes RT #56444)
116
117 · Array references assigned to *Foo::ISA now have the necessary magic
118 added to them to catch any further updates to the new @ISA. (Fixes
119 RT #72866)
120
121 · Filehandles are now always blessed into "IO::File", which, together
122 with some suitable manipulation of @IO::File::ISA, fixes a breakage
123 introduced in Perl 5.11.3 by a change that always blessed
124 filehandles into "IO::Handle" rather than checking for "FileHandle"
125 first.
126
127 · A change in the behaviour of "warnings::enabled" and
128 "warnings::warnif" in Perl 5.10.0 that wasn't documented at the
129 time is now documented in perl5100delta. (Fixes RT #62522)
130
131 · RT #71504 is now fixed by simply skipping the tests that failed on
132 OpenBSD with ithreads and perlio.
133
135 · The fatal error "Malformed UTF-8 returned by \N" is now produced if
136 the "charnames" handler returns malformed UTF-8.
137
138 · If an unresolved named character or sequence was encountered when
139 compiling a regex pattern then the fatal error "\\N{NAME} must be
140 resolved by the lexer" is now produced. This can happen, for
141 example, when using a single-quotish context like "$re =
142 '\N{SPACE}'; $re;". See perldiag for more examples of how the lexer
143 can get bypassed.
144
145 · The fatal error "Invalid hexadecimal number in \\N{U+...}" will be
146 produced if the character constant represented by "..." is not a
147 valid hexadecimal number.
148
149 · The new meaning of "\N" as "[^\n]" is not valid in a bracketed
150 character class, just like "." in a character class loses its
151 special meaning, and will cause the fatal error "\\N in a character
152 class must be a named character: \\N{...}".
153
154 · The rules on what is legal for the "..." in "\N{...}" have been
155 tightened up so that unless the "..." begins with an alphabetic
156 character and continues with a combination of alphanumerics,
157 dashes, spaces, parentheses or colons then the warning "Deprecated
158 character(s) in \\N{...} starting at '%s'" is now issued.
159
160 · The warning "Using just the first characters returned by \N{}" will
161 be issued if the "charnames" handler returns a sequence of
162 characters which exceeds the limit of the number of characters that
163 can be used. The message will indicate which characters were used
164 and which were discarded.
165
166 · Currently, all but the first of the several characters that the
167 "charnames" handler may return are discarded when used in a regular
168 expression pattern bracketed character class. If this happens then
169 the warning "Using just the first character returned by \N{} in
170 character class" will be issued.
171
172 · The warning "Missing right brace on \\N{} or unescaped left brace
173 after \\N. Assuming the latter" will be issued if Perl encounters
174 a "\N{" but doesn't find a matching "}". In this case Perl doesn't
175 know if it was mistakenly omitted, or if "match non-newline"
176 followed by "match a "{"" was desired. It assumes the latter
177 because that is actually a valid interpretation as written, unlike
178 the other case. If you meant the former, you need to add the
179 matching right brace. If you did mean the latter, you can silence
180 this warning by writing instead "\N\{".
181
182 · "gmtime" and "localtime" called with numbers smaller than they can
183 reliably handle will now issue the warnings "gmtime(%.0f) too
184 small" and "localtime(%.0f) too small".
185
187 t/op/filehandle.t
188 Tests some suitably portable filetest operators to check that they
189 work as expected, particularly in the light of some internal
190 changes made in how filehandles are blessed.
191
192 t/op/time_loop.t
193 Tests that times greater than "2**63", which can now be handed to
194 "gmtime" and "localtime", do not cause an internal overflow or an
195 excessively long loop.
196
198 Perl 5.11.5 is a development release leading up to Perl 5.12.0. Some
199 notable known problems found in 5.11.5 are listed as dependencies of RT
200 #69710, the Perl 5 version 12 meta-ticket.
201
203 Perl 5.11.5 represents approximately one month of development since
204 Perl 5.11.4 and contains 9618 lines of changes across 151 files from 33
205 authors and committers:
206
207 var Arnfjoerd` Bjarmason, Abigail, brian d foy, Chris Williams, David
208 Golden, David Mitchell, Eric Brine, Frank Wiegand, Gisle Aas, H.Merijn
209 Brand, Jan Dubois, Jesse Vincent, Jim Cromie, John Peacock, Josh ben
210 Jore, Karl Williamson, Marcus Holland-Moritz, Michael G Schwern,
211 Nicholas Clark, Offer Kaye, Philippe Bruhat (BooK), Rafael Garcia-
212 Suarez, Reini Urban, Ricardo Signes, Robin Barker, Slaven Rezic,
213 Steffen Mueller, Steve Hay, Steve Peters, Tim Bunce, Todd Rinaldo, Tony
214 Cook and Vincent Pit.
215
216 Many of the changes included in this version originated in the CPAN
217 modules included in Perl's core. We're grateful to the entire CPAN
218 community for helping Perl to flourish.
219
221 If you find what you think is a bug, you might check the articles
222 recently posted to the comp.lang.perl.misc newsgroup and the perl bug
223 database at http://rt.perl.org/perlbug/ . There may also be
224 information at http://www.perl.org/ , the Perl Home Page.
225
226 If you believe you have an unreported bug, please run the perlbug
227 program included with your release. Be sure to trim your bug down to a
228 tiny but sufficient test case. Your bug report, along with the output
229 of "perl -V", will be sent off to perlbug@perl.org to be analyzed by
230 the Perl porting team.
231
232 If the bug you are reporting has security implications, which make it
233 inappropriate to send to a publicly archived mailing list, then please
234 send it to perl5-security-report@perl.org. This points to a closed
235 subscription unarchived mailing list, which includes all the core
236 committers, who be able to help assess the impact of issues, figure out
237 a resolution, and help co-ordinate the release of patches to mitigate
238 or fix the problem across all platforms on which Perl is supported.
239 Please only use this address for security issues in the Perl core, not
240 for modules independently distributed on CPAN.
241
243 The Changes file for an explanation of how to view exhaustive details
244 on what changed.
245
246 The INSTALL file for how to build Perl.
247
248 The README file for general stuff.
249
250 The Artistic and Copying files for copyright information.
251
252
253
254perl v5.12.4 2011-06-01 PERL5115DELTA(1)