Commit | Line | Data |
---|---|---|
4c793fe3 FR |
1 | =encoding utf8 |
2 | ||
3 | =head1 NAME | |
4 | ||
ee0887a9 SH |
5 | [ this is a template for a new perldelta file. Any text flagged as |
6 | XXX needs to be processed before release. ] | |
4c793fe3 | 7 | |
ee0887a9 | 8 | perldelta - what is new for perl v5.13.6 |
4c793fe3 | 9 | |
ee0887a9 | 10 | =head1 DESCRIPTION |
0c692eed | 11 | |
ee0887a9 SH |
12 | This document describes differences between the 5.13.5 release and |
13 | the 5.13.6 release. | |
0c692eed | 14 | |
ee0887a9 SH |
15 | If you are upgrading from an earlier release such as 5.13.4, first read |
16 | L<perl5135delta>, which describes differences between 5.13.4 and | |
17 | 5.13.5. | |
0c692eed | 18 | |
ee0887a9 | 19 | =head1 Notice |
0c692eed | 20 | |
ee0887a9 | 21 | XXX Any important notices here |
4c793fe3 | 22 | |
ee0887a9 | 23 | =head1 Core Enhancements |
85318b69 | 24 | |
ee0887a9 SH |
25 | XXX New core language features go here. Summarise user-visible core language |
26 | enhancements. Particularly prominent performance optimisations could go | |
27 | here, but most should go in the L</Performance Enhancements> section. | |
85318b69 | 28 | |
ee0887a9 | 29 | [ List each enhancement as a =head2 entry ] |
85318b69 | 30 | |
fb85c044 KW |
31 | =head2 C<(?^...)> regex construct added to signify default modifiers |
32 | ||
33 | A caret (also called a "cirumflex accent") C<"^"> immediately following | |
34 | a C<"(?"> in a regular expression now means that the subexpression is to | |
35 | not inherit the surrounding modifiers such as C</i>, but to revert to the | |
36 | Perl defaults. Any modifiers following the caret override the defaults. | |
37 | ||
38 | The stringification of regular expressions now uses this notation. The | |
39 | main purpose of this is to allow tests that rely on the stringification | |
40 | to not have to change when new modifiers are added. See | |
41 | L<perlre/Extended Patterns>. | |
42 | ||
9de15fec KW |
43 | =head2 C<"d">, C<"l">, and C<"u"> regex modifiers added |
44 | ||
45 | These modifiers are currently only available within a C<(?...)> construct. | |
46 | ||
47 | The C<"l"> modifier says to compile the regular expression as if it were | |
48 | in the scope of C<use locale>, even if it is not. | |
49 | ||
50 | The C<"u"> modifier currently does nothing. | |
51 | ||
52 | The C<"d"> modifier is used in the scope of C<use locale> to compile the | |
53 | regular expression as if it were not in that scope. | |
54 | See L<perlre/(?dlupimsx-imsx)>. | |
55 | ||
fb121860 KW |
56 | =head2 C<\N{...}> now handles Unicode named character sequences |
57 | ||
58 | Unicode has a number of named character sequences, in which particular sequences | |
59 | of code points are given names. C<\N{...}> now recognizes these. | |
60 | See L<charnames>. | |
61 | ||
62 | =head2 New function C<charnames::string_vianame()> | |
63 | ||
64 | This function is a run-time version of C<\N{...}>, returning the string | |
65 | of characters whose Unicode name is its parameter. It can handle | |
66 | Unicode named character sequences, whereas the pre-existing | |
67 | C<charnames::vianame()> cannot, as the latter returns a single code | |
68 | point. | |
69 | See L<charnames>. | |
70 | ||
ee0887a9 | 71 | =head1 Security |
85318b69 | 72 | |
ee0887a9 SH |
73 | XXX Any security-related notices go here. In particular, any security |
74 | vulnerabilities closed should be noted here rather than in the | |
75 | L</Selected Bug Fixes> section. | |
85318b69 | 76 | |
ee0887a9 | 77 | [ List each security issue as a =head2 entry ] |
4c793fe3 FR |
78 | |
79 | =head1 Incompatible Changes | |
80 | ||
fb85c044 KW |
81 | =head2 Stringification of regexes has changed |
82 | ||
83 | Default regular expression modifiers are now notated by using | |
84 | C<(?^...)>. Code relying on the old stringification will fail. The | |
85 | purpose of this is so that when new modifiers are added, such code will | |
8477b9ba KW |
86 | not have to change (after this one time), as the stringification will |
87 | automatically incorporate the new modifiers. | |
fb85c044 KW |
88 | |
89 | Code that needs to work properly with both old- and new-style regexes | |
e23837fb | 90 | can avoid the whole issue by using (for Perls since 5.9.5): |
8477b9ba KW |
91 | |
92 | use re qw(regexp_pattern); | |
93 | my ($pat, $mods) = regexp_pattern($re_ref); | |
94 | ||
95 | where C<$re_ref> is a reference to a compiled regular expression. Upon | |
96 | return, C<$mods> will be a string containing all the non-default | |
97 | modifiers used when the regular expression was compiled, and C<$pattern> | |
98 | the actual pattern. | |
99 | ||
e23837fb KW |
100 | If the actual stringification is important, or older Perls need to be |
101 | supported, you can use something like the following: | |
fb85c044 KW |
102 | |
103 | # Accept both old and new-style stringification | |
104 | my $modifiers = (qr/foobar/ =~ /\Q(?^/) ? '^' : '-xism'; | |
44428a46 | 105 | |
fb85c044 | 106 | And then use C<$modifiers> instead of C<-xism>. |
44428a46 | 107 | |
9de15fec KW |
108 | =head2 Regular expressions retain their localeness when interpolated |
109 | ||
110 | Regular expressions compiled under C<"use locale"> now retain this when | |
111 | interpolated into a new regular expression compiled outside a | |
112 | C<"use locale">, and vice-versa. | |
113 | ||
114 | Previously, a regular expression interpolated into another one inherited | |
115 | the localeness of the surrounding one, losing whatever state it | |
116 | originally had. This is considered a bug fix, but may trip up code that | |
117 | has come to rely on the incorrect behavior. | |
118 | ||
ee0887a9 | 119 | [ List each incompatible change as a =head2 entry ] |
4c793fe3 FR |
120 | |
121 | =head1 Deprecations | |
122 | ||
ee0887a9 SH |
123 | XXX Any deprecated features, syntax, modules etc. should be listed here. |
124 | In particular, deprecated modules should be listed here even if they are | |
125 | listed as an updated module in the L</Modules and Pragmata> section. | |
85318b69 | 126 | |
ee0887a9 | 127 | [ List each deprecation as a =head2 entry ] |
4c793fe3 FR |
128 | |
129 | =head1 Performance Enhancements | |
130 | ||
ee0887a9 SH |
131 | XXX Changes which enhance performance without changing behaviour go here. There |
132 | may well be none in a stable release. | |
4c793fe3 | 133 | |
ee0887a9 | 134 | [ List each enhancement as a =item entry ] |
4c793fe3 | 135 | |
ee0887a9 | 136 | =over 4 |
4c793fe3 | 137 | |
e2babdfb FR |
138 | =item * |
139 | ||
ee0887a9 | 140 | XXX |
e2babdfb | 141 | |
4c793fe3 FR |
142 | =back |
143 | ||
144 | =head1 Modules and Pragmata | |
145 | ||
ee0887a9 SH |
146 | XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/> |
147 | go here. If Module::CoreList is updated, generate an initial draft of the | |
148 | following sections using F<Porting/corelist-perldelta.pl>, which prints stub | |
149 | entries to STDOUT. Results can be pasted in place of the '=head2' entries | |
150 | below. A paragraph summary for important changes should then be added by hand. | |
151 | In an ideal world, dual-life modules would have a F<Changes> file that could be | |
152 | cribbed. | |
fc1418b7 | 153 | |
ee0887a9 | 154 | [ Within each section, list entries as a =item entry ] |
df91fef1 | 155 | |
ee0887a9 | 156 | =head2 New Modules and Pragmata |
ccb45ef4 | 157 | |
ee0887a9 | 158 | =over 4 |
df91fef1 | 159 | |
ee0887a9 | 160 | =item * |
df91fef1 | 161 | |
ee0887a9 | 162 | XXX |
e2babdfb | 163 | |
ee0887a9 | 164 | =back |
e2babdfb | 165 | |
ee0887a9 | 166 | =head2 Updated Modules and Pragmata |
fc1418b7 | 167 | |
ee0887a9 | 168 | =over 4 |
fc1418b7 | 169 | |
ee0887a9 | 170 | =item * |
e2babdfb | 171 | |
e2941eb0 FC |
172 | C<Data::Dumper> has been upgraded from version 2.128 to 2.129. |
173 | ||
174 | C<Dumpxs> no longer crashes with globs returned by C<*$io_ref> | |
175 | L<[perl #72332]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72332>. | |
176 | ||
177 | =item * | |
178 | ||
62d37bf0 FR |
179 | C<Digest::MD5> has been upgraded from version 2.40 to 2.50. |
180 | ||
181 | It is now safe to use this module in combination with threads. | |
182 | ||
183 | =item * | |
184 | ||
f5b89942 FC |
185 | C<File::DosGlob> has been upgraded from version 1.02 to 1.03. |
186 | ||
187 | It allows patterns containing literal parentheses (they no longer need to | |
188 | be escaped). On Windows, it no longer adds an extra F<./> to the file names | |
189 | returned when the pattern is a relative glob with a drive specification, | |
6481ebaf FC |
190 | like F<c:*.pl> |
191 | L<[perl #71712]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71712>. | |
f5b89942 FC |
192 | |
193 | =item * | |
194 | ||
4d1599c3 FC |
195 | C<File::Find> has been upgraded from version 1.17 to 1.18. |
196 | ||
197 | It improves handling of backslashes on Windows, so that paths such as | |
6481ebaf FC |
198 | F<c:\dir\/file> are no longer generated |
199 | L<[perl #71710]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>. | |
4d1599c3 FC |
200 | |
201 | =item * | |
202 | ||
f1c82292 CBW |
203 | C<if> has been upgraded from version 0.05 to 0.06 |
204 | ||
205 | =item * | |
206 | ||
25e68b8b FC |
207 | C<IPC::Open3> has been upgraded from version 1.06 to 1.07. |
208 | ||
209 | The internal C<xclose> routine now knows how to handle file descriptors, as | |
210 | documented, so duplicating STDIN in a child process using its file | |
211 | descriptor now works | |
212 | L<[perl #76474]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71710>. | |
213 | ||
214 | =item * | |
215 | ||
9607a449 FC |
216 | C<Locale::Maketext> has been upgraded from version 1.15 to 1.16. |
217 | ||
218 | It fixes an infinite loop in C<Locale::Maketext::Guts::_compile()> when | |
219 | working with tainted values | |
220 | (L<CPAN RT #40727|https://rt.cpan.org/Public/Bug/Display.html?id=40727>). | |
221 | ||
222 | =item * | |
223 | ||
de0e3ce7 FR |
224 | C<NEXT> has been upgraded from version 0.64 to 0.65. |
225 | ||
226 | =item * | |
227 | ||
1c2dcb3e CBW |
228 | C<PathTools> has been upgraded from version 3.31_01 to 3.33. |
229 | ||
230 | =item * | |
231 | ||
6481ebaf FC |
232 | C<sigtrap> has been upgraded from version 1.04 to 1.05. |
233 | ||
234 | It no longer tries to modify read-only arguments when generating a | |
235 | backtrace | |
236 | L<[perl #72340]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72340>. | |
237 | ||
238 | =item * | |
239 | ||
1393fe00 CBW |
240 | C<Unicode::Collate> has been upgraded from version 0.59 to 0.60 |
241 | ||
242 | =item * | |
243 | ||
1c2dcb3e | 244 | C<Unicode::Normalize> has been upgraded from version 1.06 to 1.07 |
c9a84c8b | 245 | |
ee0887a9 | 246 | =back |
c9a84c8b | 247 | |
ee0887a9 | 248 | =head2 Removed Modules and Pragmata |
c9a84c8b | 249 | |
ee0887a9 | 250 | =over 4 |
4c793fe3 | 251 | |
ee0887a9 | 252 | =item * |
48c1efd2 | 253 | |
ee0887a9 | 254 | XXX |
4c793fe3 FR |
255 | |
256 | =back | |
257 | ||
258 | =head1 Documentation | |
259 | ||
ee0887a9 SH |
260 | XXX Changes to files in F<pod/> go here. Consider grouping entries by |
261 | file and be sure to link to the appropriate page, e.g. L<perlfunc>. | |
4c793fe3 | 262 | |
ee0887a9 | 263 | =head2 New Documentation |
4c793fe3 | 264 | |
ee0887a9 | 265 | XXX Changes which create B<new> files in F<pod/> go here. |
4c793fe3 | 266 | |
ee0887a9 | 267 | =head3 L<XXX> |
4c793fe3 | 268 | |
ee0887a9 | 269 | XXX Description of the purpose of the new file here |
4c793fe3 | 270 | |
ee0887a9 | 271 | =head2 Changes to Existing Documentation |
fc1418b7 | 272 | |
ee0887a9 SH |
273 | XXX Changes which significantly change existing files in F<pod/> go here. |
274 | However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics> | |
275 | section. | |
fc1418b7 | 276 | |
ee0887a9 | 277 | =head3 L<XXX> |
e2babdfb | 278 | |
7bc3efda SH |
279 | =over 4 |
280 | ||
281 | =item * | |
282 | ||
a7e93501 FC |
283 | The documentation for the C<SvTRUE> macro was simply wrong in stating that |
284 | get-magic is not processed. It has been corrected. | |
7bc3efda SH |
285 | |
286 | =back | |
e2babdfb | 287 | |
4c793fe3 FR |
288 | =head1 Diagnostics |
289 | ||
290 | The following additions or changes have been made to diagnostic output, | |
291 | including warnings and fatal error messages. For the complete list of | |
292 | diagnostic messages, see L<perldiag>. | |
293 | ||
ee0887a9 SH |
294 | XXX New or changed warnings emitted by the core's C<C> code go here. Also |
295 | include any changes in L<perldiag> that reconcile it to the C<C> code. | |
4c793fe3 | 296 | |
ee0887a9 | 297 | [ Within each section, list entries as a =item entry ] |
4c793fe3 | 298 | |
ee0887a9 | 299 | =head2 New Diagnostics |
4c793fe3 | 300 | |
ee0887a9 | 301 | XXX Newly added diagnostic messages go here |
fc1418b7 | 302 | |
ee0887a9 | 303 | =over 4 |
fc1418b7 SH |
304 | |
305 | =item * | |
306 | ||
ee0887a9 | 307 | XXX |
ebce6c40 | 308 | |
4c793fe3 FR |
309 | =back |
310 | ||
ee0887a9 | 311 | =head2 Changes to Existing Diagnostics |
4c793fe3 | 312 | |
ee0887a9 | 313 | XXX Changes (i.e. rewording) of diagnostic messages go here |
4c793fe3 FR |
314 | |
315 | =over 4 | |
316 | ||
317 | =item * | |
318 | ||
ee0887a9 | 319 | XXX |
4c793fe3 FR |
320 | |
321 | =back | |
322 | ||
ee0887a9 | 323 | =head1 Utility Changes |
4c793fe3 | 324 | |
ee0887a9 SH |
325 | XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go |
326 | here. Most of these are built within the directories F<utils> and F<x2p>. | |
4c793fe3 | 327 | |
ee0887a9 SH |
328 | [ List utility changes as a =head3 entry for each utility and =item |
329 | entries for each change | |
330 | Use L<XXX> with program names to get proper documentation linking. ] | |
fc1418b7 | 331 | |
ee0887a9 | 332 | =head3 L<XXX> |
fc1418b7 | 333 | |
ee0887a9 | 334 | =over 4 |
4c793fe3 | 335 | |
44428a46 FC |
336 | =item * |
337 | ||
ee0887a9 | 338 | XXX |
44428a46 | 339 | |
4c793fe3 FR |
340 | =back |
341 | ||
ee0887a9 | 342 | =head1 Configuration and Compilation |
4c793fe3 | 343 | |
ee0887a9 SH |
344 | XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools |
345 | go here. Any other changes to the Perl build process should be listed here. | |
346 | However, any platform-specific changes should be listed in the | |
347 | L</Platform Support> section, instead. | |
4c793fe3 | 348 | |
ee0887a9 | 349 | [ List changes as a =item entry ]. |
4c793fe3 | 350 | |
0c692eed FR |
351 | =over 4 |
352 | ||
353 | =item * | |
354 | ||
ee0887a9 | 355 | XXX |
0c692eed FR |
356 | |
357 | =back | |
4c793fe3 | 358 | |
ee0887a9 | 359 | =head1 Testing |
0c692eed | 360 | |
ee0887a9 SH |
361 | XXX Any significant changes to the testing of a freshly built perl should be |
362 | listed here. Changes which create B<new> files in F<t/> go here as do any | |
363 | large changes to the testing harness (e.g. when parallel testing was added). | |
364 | Changes to existing files in F<t/> aren't worth summarising, although the bugs | |
365 | that they represent may be covered elsewhere. | |
0c692eed | 366 | |
ee0887a9 | 367 | [ List each test improvement as a =item entry ] |
0c692eed | 368 | |
ee0887a9 | 369 | =over 4 |
0c692eed FR |
370 | |
371 | =item * | |
372 | ||
ee0887a9 | 373 | XXX |
4c793fe3 FR |
374 | |
375 | =back | |
376 | ||
ee0887a9 | 377 | =head1 Platform Support |
4c793fe3 | 378 | |
ee0887a9 | 379 | XXX Any changes to platform support should be listed in the sections below. |
4c793fe3 | 380 | |
ee0887a9 SH |
381 | [ Within the sections, list each platform as a =item entry with specific |
382 | changes as paragraphs below it. ] | |
4c793fe3 | 383 | |
ee0887a9 | 384 | =head2 New Platforms |
0c692eed | 385 | |
ee0887a9 SH |
386 | XXX List any platforms that this version of perl compiles on, that previous |
387 | versions did not. These will either be enabled by new files in the F<hints/> | |
388 | directories, or new subdirectories and F<README> files at the top level of the | |
389 | source tree. | |
0c692eed | 390 | |
ee0887a9 | 391 | =over 4 |
0c692eed | 392 | |
ee0887a9 | 393 | =item XXX-some-platform |
0c692eed | 394 | |
ee0887a9 | 395 | XXX |
0c692eed | 396 | |
ee0887a9 | 397 | =back |
0c692eed | 398 | |
ee0887a9 | 399 | =head2 Discontinued Platforms |
4c793fe3 | 400 | |
ee0887a9 | 401 | XXX List any platforms that this version of perl no longer compiles on. |
8ebb9810 | 402 | |
ee0887a9 | 403 | =over 4 |
8ebb9810 | 404 | |
ee0887a9 | 405 | =item XXX-some-platform |
48c1efd2 | 406 | |
ee0887a9 | 407 | XXX |
48c1efd2 | 408 | |
ee0887a9 | 409 | =back |
44428a46 | 410 | |
ee0887a9 | 411 | =head2 Platform-Specific Notes |
44428a46 | 412 | |
ee0887a9 SH |
413 | XXX List any changes for specific platforms. This could include configuration |
414 | and compilation changes or changes in portability/compatibility. However, | |
415 | changes within modules for platforms should generally be listed in the | |
416 | L</Modules and Pragmata> section. | |
f4beb78f | 417 | |
ee0887a9 | 418 | =over 4 |
f4beb78f | 419 | |
ee0887a9 | 420 | =item XXX-some-platform |
ccb45ef4 | 421 | |
ee0887a9 | 422 | XXX |
ccb45ef4 | 423 | |
ee0887a9 | 424 | =back |
85318b69 | 425 | |
ee0887a9 | 426 | =head1 Internal Changes |
85318b69 | 427 | |
ee0887a9 SH |
428 | XXX Changes which affect the interface available to C<XS> code go here. |
429 | Other significant internal changes for future core maintainers should | |
430 | be noted as well. | |
85318b69 | 431 | |
ee0887a9 | 432 | [ List each test improvement as a =item entry ] |
80b6a949 | 433 | |
ee0887a9 | 434 | =over 4 |
80b6a949 | 435 | |
e2babdfb FR |
436 | =item * |
437 | ||
a5763045 FC |
438 | See L</Regular expressions retain their localeness when interpolated>, |
439 | above. | |
e2babdfb | 440 | |
a7e93501 FC |
441 | =item * |
442 | ||
443 | The C<sv_cmp_flags>, C<sv_cmp_locale_flags>, C<sv_eq_flags> and | |
444 | C<sv_collxfrm_flags> functions have been added. These are like their | |
445 | non-_flags counterparts, but allow one to specify whether get-magic is | |
446 | processed. | |
447 | ||
448 | The C<sv_cmp>, C<sv_cmp_locale>, C<sv_eq> and C<sv_collxfrm> functions have | |
449 | been replaced with wrappers around the new functions. | |
450 | ||
451 | =item * | |
452 | ||
453 | A new C<sv_2bool_flags> function has been added. | |
454 | ||
455 | This is like C<sv_2bool>, but it lets the calling code decide whether | |
456 | get-magic is handled. C<sv_2bool> is now a macro that calls the new | |
457 | function. | |
458 | ||
459 | =item * | |
460 | ||
461 | A new macro, C<SvTRUE_nomg>, has been added. | |
462 | ||
463 | This is like C<SvTRUE>, except that it does not process magic. It uses the | |
464 | new C<sv_2bool_flags> function. | |
465 | ||
466 | =item * | |
467 | ||
468 | C<sv_catsv_flags> no longer calls C<mg_get> on its second argument (the | |
469 | source string) if the flags passed to it do not include SV_GMAGIC. So it | |
470 | now matches what the documentation says it does. | |
471 | ||
ee0887a9 | 472 | =back |
e2babdfb | 473 | |
ee0887a9 | 474 | =head1 Selected Bug Fixes |
e2babdfb | 475 | |
ee0887a9 SH |
476 | XXX Important bug fixes in the core language are summarised here. |
477 | Bug fixes in files in F<ext/> and F<lib/> are best summarised in | |
478 | L</Modules and Pragmata>. | |
e2babdfb | 479 | |
ee0887a9 | 480 | [ List each fix as a =item entry ] |
346e4e56 | 481 | |
ee0887a9 | 482 | =over 4 |
346e4e56 | 483 | |
78846812 FR |
484 | =item * |
485 | ||
4e9f151b FC |
486 | A regular expression match in the right-hand side of a global substitution |
487 | (C<s///g>) that is in the same scope will no longer cause match variables | |
488 | to have the wrong values on subsequent iterations. This can happen when an | |
e54f3f30 FC |
489 | array or hash subscript is interpolated in the right-hand side, as in |
490 | C<s|(.)|@a{ print($1), /./ }|g> | |
491 | L<[perl #19078]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=19078>. | |
492 | ||
493 | =item * | |
494 | ||
495 | Constant-folding used to cause | |
496 | ||
497 | $text =~ ( 1 ? /phoo/ : /bear/) | |
498 | ||
499 | to turn into | |
500 | ||
501 | $text =~ /phoo/ | |
502 | ||
503 | at compile time. Now it correctly matches against C<$_> | |
504 | L<[perl #20444]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=20444>. | |
78846812 | 505 | |
a5763045 FC |
506 | =item * |
507 | ||
508 | Parsing Perl code (either with string C<eval> or by loading modules) from | |
509 | within a C<UNITCHECK> block no longer causes the interpreter to crash | |
510 | L<[perl #70614]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=70614>. | |
511 | ||
5a9a79a4 FC |
512 | =item * |
513 | ||
514 | When C<-d> is used on the shebang (C<#!>) line, the debugger now has access | |
515 | to the lines of the main program. In the past, this sometimes worked and | |
516 | sometimes did not, depending on what order things happened to be arranged | |
b45e2413 FC |
517 | in memory |
518 | L<[perl #71806]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=71806>. | |
5a9a79a4 | 519 | |
a7e93501 FC |
520 | =item * |
521 | ||
522 | The C<y///> or C<tr///> operator now calls get-magic (e.g., the C<FETCH> | |
523 | method of a tie) on its left-hand side just once, not twice | |
524 | L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>. | |
525 | ||
526 | =item * | |
527 | ||
528 | String comparison (C<eq>, C<ne>, C<lt>, C<gt>, C<le>, C<ge> and | |
529 | C<cmp>) and logical not (C<not> and C<!>) operators no longer call magic | |
530 | (e.g., tie methods) twice on their operands | |
531 | L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>. | |
532 | ||
533 | This bug was introduced in an earlier 5.13 release, and does not affect | |
534 | perl 5.12. | |
535 | ||
536 | =item * | |
537 | ||
538 | When a tied (or other magic) variable is used as, or in, a regular | |
539 | expression, it no longer has its C<FETCH> method called twice | |
540 | L<[perl #76814]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=76814>. | |
541 | ||
542 | This bug was introduced in an earlier 5.13 release, and does not affect | |
543 | perl 5.12. | |
544 | ||
d4a59e54 FC |
545 | =item * |
546 | ||
547 | The C<-C> option can now be followed by other options | |
548 | L<[perl #72434]|http://rt.perl.org/rt3//Public/Bug/Display.html?id=72434>. | |
549 | ||
4c793fe3 FR |
550 | =back |
551 | ||
962fbe1d SH |
552 | =head1 Known Problems |
553 | ||
ee0887a9 SH |
554 | XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any |
555 | tests that had to be C<TODO>ed for the release would be noted here, unless | |
556 | they were specific to a particular platform (see below). | |
962fbe1d | 557 | |
ee0887a9 SH |
558 | This is a list of some significant unfixed bugs, which are regressions |
559 | from either 5.XXX.XXX or 5.XXX.XXX. | |
962fbe1d | 560 | |
ee0887a9 SH |
561 | [ List each fix as a =item entry ] |
562 | ||
563 | =over 4 | |
08d032c0 SH |
564 | |
565 | =item * | |
566 | ||
ee0887a9 | 567 | XXX |
962fbe1d SH |
568 | |
569 | =back | |
570 | ||
ee0887a9 | 571 | =head1 Obituary |
4c793fe3 | 572 | |
ee0887a9 SH |
573 | XXX If any significant core contributor has died, we've added a short obituary |
574 | here. | |
0195fb5f | 575 | |
405fd67e DG |
576 | =head1 Errata |
577 | ||
578 | =over 4 | |
579 | ||
580 | =item * | |
581 | ||
582 | Fixed a typo in L<perl5135delta> regarding array slices and smart matching | |
583 | ||
584 | =back | |
585 | ||
ee0887a9 | 586 | =head1 Acknowledgements |
0195fb5f | 587 | |
ee0887a9 | 588 | XXX The list of people to thank goes here. |
4c793fe3 FR |
589 | |
590 | =head1 Reporting Bugs | |
591 | ||
592 | If you find what you think is a bug, you might check the articles | |
593 | recently posted to the comp.lang.perl.misc newsgroup and the perl | |
594 | bug database at http://rt.perl.org/perlbug/ . There may also be | |
595 | information at http://www.perl.org/ , the Perl Home Page. | |
596 | ||
597 | If you believe you have an unreported bug, please run the B<perlbug> | |
598 | program included with your release. Be sure to trim your bug down | |
599 | to a tiny but sufficient test case. Your bug report, along with the | |
600 | output of C<perl -V>, will be sent off to perlbug@perl.org to be | |
601 | analysed by the Perl porting team. | |
602 | ||
603 | If the bug you are reporting has security implications, which make it | |
604 | inappropriate to send to a publicly archived mailing list, then please send | |
ee0887a9 | 605 | it to perl5-security-report@perl.org. This points to a closed subscription |
4c793fe3 FR |
606 | unarchived mailing list, which includes all the core committers, who be able |
607 | to help assess the impact of issues, figure out a resolution, and help | |
608 | co-ordinate the release of patches to mitigate or fix the problem across all | |
ee0887a9 | 609 | platforms on which Perl is supported. Please only use this address for |
4c793fe3 FR |
610 | security issues in the Perl core, not for modules independently |
611 | distributed on CPAN. | |
612 | ||
613 | =head1 SEE ALSO | |
614 | ||
615 | The F<Changes> file for an explanation of how to view exhaustive details | |
616 | on what changed. | |
617 | ||
618 | The F<INSTALL> file for how to build Perl. | |
619 | ||
620 | The F<README> file for general stuff. | |
621 | ||
622 | The F<Artistic> and F<Copying> files for copyright information. | |
623 | ||
624 | =cut |