This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #78580] Stop a simple *glob from calling get-magic
[perl5.git] / pod / perldelta.pod
CommitLineData
4c793fe3
FR
1=encoding utf8
2
c39f7439 3=for comment
8ff01ef0 4This has been completed up to 7cb18e1b02, except for:
48ea5431
FC
504777d295957ad270188e4debf51b523e07cc5b0
6c565ab54dc649bb62cd4d57149d7b2abb21df5f3
a5e71717 71c8d11ca3d0ce8bc11562f159b94c2c7e62dea6c
c39f7439 8
4c793fe3
FR
9=head1 NAME
10
8f97a47a
TM
11[ this is a template for a new perldelta file. Any text flagged as
12XXX needs to be processed before release. ]
4c793fe3 13
8f97a47a 14perldelta - what is new for perl v5.13.7
a12cf05f 15
8f97a47a 16=head1 DESCRIPTION
fb121860 17
8f97a47a
TM
18This document describes differences between the 5.13.6 release and
19the 5.13.7 release.
eb32ee41 20
8f97a47a
TM
21If you are upgrading from an earlier release such as 5.13.5, first read
22L<perl5136delta>, which describes differences between 5.13.5 and
235.13.6.
eb32ee41 24
8f97a47a 25=head1 Notice
eb32ee41 26
8f97a47a 27XXX Any important notices here
5e26bbbe 28
8f97a47a 29=head1 Core Enhancements
5e26bbbe 30
8f97a47a
TM
31XXX New core language features go here. Summarise user-visible core language
32enhancements. Particularly prominent performance optimisations could go
33here, but most should go in the L</Performance Enhancements> section.
5e26bbbe 34
8f97a47a 35[ List each enhancement as a =head2 entry ]
4f65bc30 36
c035a075
DG
37=head2 Single term prototype
38
39The C<+> prototype is a special alternative to C<$> that will act like
40C<\[@%]> when given a literal array or hash variable, but will otherwise
41force scalar context on the argument. This is useful for functions which
42should accept either a literal array or an array reference as the argument:
43
44 sub smartpush (+@) {
45 my $aref = shift;
46 die "Not an array or arrayref" unless ref $aref eq 'ARRAY';
47 push @$aref, @_;
48 }
49
50When using the C<+> prototype, your function must check that the argument
51is of an acceptable type.
52
b7bd32cc
FC
53=head2 C<use re '/flags';>
54
55The C<re> pragma now has the ability to turn on regular expression flags
56till the end of the lexical scope:
57
58 use re '/x';
59 "foo" =~ / (.+) /; # /x implied
60
61See L<re/'/flags' mode> for details.
62
a5e71717
FC
63=head2 Statement labels can appear in more places
64
65Statement labels can now occur before any type of statement or declaration,
66such as C<package>.
67
9b7c43ba
KW
68=head2 C<use feature "unicode_strings"> now applies to more regex matching
69
70Another chunk of the L<perlunicode/The "Unicode Bug"> is fixed in this
71release. Now, regular expressions compiled within the scope of the
72"unicode_strings" feature (or under the "u" regex modifier (specifiable
73currently only with infix notation C<(?u:...)> or via C<use re '/u'>)
74will match the same whether or not the target string is encoded in utf8,
75with regard to C<[[:posix:]]> character classes
76
77Work is underway to add the case sensitive matching to the control of
78this feature, but was not complete in time for this dot release.
79
8f97a47a 80=head1 Security
4f65bc30 81
8f97a47a
TM
82XXX Any security-related notices go here. In particular, any security
83vulnerabilities closed should be noted here rather than in the
84L</Selected Bug Fixes> section.
0eec0a4c 85
8f97a47a 86[ List each security issue as a =head2 entry ]
0eec0a4c 87
4c793fe3
FR
88=head1 Incompatible Changes
89
8f97a47a 90XXX For a release on a stable branch, this section aspires to be:
9de15fec 91
8f97a47a
TM
92 There are no changes intentionally incompatible with 5.XXX.XXX. If any
93 exist, they are bugs and reports are welcome.
9de15fec 94
8f97a47a 95[ List each incompatible change as a =head2 entry ]
9de15fec 96
a638ba6f
FC
97=head2 Dereferencing typeglobs
98
99If you assign a typeglob to a scalar variable:
100
101 $glob = *foo;
102
103the glob that is copied to C<$glob> is marked with a special flag
104indicating that the glob is just a copy. This allows subsequent assignments
105to C<$glob> to overwrite the glob. The original glob, however, is
106immutable.
107
108Many Perl operators did not distinguish between these two types of globs.
109This would result in strange behaviour in edge cases: C<untie $scalar>
110would do nothing if the last thing assigned to the scalar was a glob
111(because it treated it as C<untie *$scalar>, which unties a handle).
0b6a3b5a 112Assignment to a glob slot (e.g., C<(*$glob) = \@some_array>) would simply
a638ba6f
FC
113assign C<\@some_array> to C<$glob>.
114
115To fix this, the C<*{}> operator (including the C<*foo> and C<*$foo> forms)
116has been modified to make a new immutable glob if its operand is a glob
117copy. Various operators that make a distinction between globs and scalars
118have been modified to treat only immutable globs as globs.
119
120This causes an incompatible change in code that assigns a glob to the
121return value of C<*{}> when that operator was passed a glob copy. Take the
122following code, for instance:
123
124 $glob = *foo;
125 *$glob = *bar;
126
127The C<*$glob> on the second line returns a new immutable glob. That new
128glob is made an alias to C<*bar>. Then it is discarded.
129
130The upside to this incompatible change is that bugs
131L<[perl #77496]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77496>,
132L<[perl #77502]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77502>,
133L<[perl #77508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77508>,
134L<[perl #77688]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77688>,
135and
136L<[perl #77812]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77812>,
137and maybe others, too, have been fixed.
138
0b6a3b5a
FC
139See L<http://rt.perl.org/rt3/Public/Bug/Display.html?id=77810> for even
140more detail.
a638ba6f 141
8f97a47a 142=head1 Deprecations
6904a83f 143
8f97a47a
TM
144XXX Any deprecated features, syntax, modules etc. should be listed here.
145In particular, deprecated modules should be listed here even if they are
146listed as an updated module in the L</Modules and Pragmata> section.
6904a83f 147
8f97a47a 148[ List each deprecation as a =head2 entry ]
afa74577 149
4c793fe3
FR
150=head1 Performance Enhancements
151
8f97a47a
TM
152XXX Changes which enhance performance without changing behaviour go here. There
153may well be none in a stable release.
4c793fe3 154
8f97a47a 155[ List each enhancement as a =item entry ]
e2babdfb 156
8f97a47a 157=over 4
e2babdfb 158
b141c43c
FR
159=item *
160
8f97a47a 161XXX
b141c43c 162
4c793fe3
FR
163=back
164
165=head1 Modules and Pragmata
166
8f97a47a
TM
167XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
168go here. If Module::CoreList is updated, generate an initial draft of the
169following sections using F<Porting/corelist-perldelta.pl>, which prints stub
170entries to STDOUT. Results can be pasted in place of the '=head2' entries
171below. A paragraph summary for important changes should then be added by hand.
172In an ideal world, dual-life modules would have a F<Changes> file that could be
173cribbed.
e2941eb0 174
8f97a47a 175[ Within each section, list entries as a =item entry ]
e2941eb0 176
8f97a47a 177=head2 New Modules and Pragmata
25e68b8b 178
8f97a47a 179=over 4
463da0ac
CBW
180
181=item *
182
539ce3d8
CBW
183C<Unicode::Collate::CJK::JISX0208> module was added by the C<Unicode::Collate>
184upgrade from 0.63 to 0.64. See below.
6481ebaf 185
8f97a47a 186=back
6481ebaf 187
8f97a47a 188=head2 Updated Modules and Pragmata
6481ebaf 189
8f97a47a 190=over 4
ac4c9720
CBW
191
192=item *
193
9f1eb87f
CBW
194C<Archive::Extract> has been upgraded from 0.44 to 0.46
195
196Resolves an issue with NetBSD-current and its new unzip
197executable.
198
199=item *
200
a5e71717
FC
201C<B> has been upgraded from 1.24 to 1.25.
202
203=item *
204
b293762b 205C<B::Deparse> has been upgraded from 0.99 to 1.01.
b7bd32cc
FC
206
207It fixes deparsing of C<our> followed by a variable with funny characters
208(as permitted under the C<utf8> pragma)
209L<[perl #33752]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=33752>.
210
211=item *
212
07be2ace
CBW
213C<CPAN> has been upgraded from 1.94_61 to 1.94_62
214
215=item *
216
59af3f66
CBW
217C<CPANPLUS> has been upgraded from 0.9007 to 0.9010
218
219Fixes for the SQLite source engine and resolving of issues with the
220testsuite when run under local::lib and/or cpanminus
221
222=item *
223
f5c34353
CBW
224C<CPANPLUS::Dist::Build> has been upgraded from 0.48 to 0.50
225
226=item *
227
48ea5431
FC
228C<ExtUtils::Constant> has been upgraded from 0.22 to 0.23.
229
230=item *
231
232C<Fcntl> has been upgraded from 1.09 to 1.10.
233
234=item *
235
236C<File::Glob> has been upgraded from 1.09 to 1.10.
237
238=item *
239
c39f7439
FC
240C<GDBM_File> has been upgraded from 1.11 to 1.12.
241
242This fixes a memory leak when DBM filters are used.
243
244=item *
245
48ea5431
FC
246C<Hash::Util> has been upgraded from 0.09 to 0.10.
247
b293762b
FC
248=item *
249
250C<Hash::Util::FieldHash> has been upgraded from 1.05 to 1.06.
48ea5431
FC
251
252=item *
253
254C<I18N::Langinfo> has been upgraded from 0.06 to 0.07.
255
256=item *
257
e1be28b4
TR
258C<Locale::Maketext> has been upgraded from 1.16 to 1.17
259
260=item *
261
b293762b
FC
262C<Math::BigInt::FastCalc> has been upgraded from 0.22 to 0.23.
263
264=item *
265
8ff01ef0
FC
266C<mro> has been upgraded from 1.04 to 1.05.
267
268=item *
269
c39f7439
FC
270C<NDBM_File> has been upgraded from 1.09 to 1.10.
271
272This fixes a memory leak when DBM filters are used.
273
274=item *
275
276C<ODBM_File> has been upgraded from 1.08 to 1.09.
277
278This fixes a memory leak when DBM filters are used.
279
280=item *
281
a9aeb2f1
CBW
282C<parent> has been upgraded from 0.223 to 0.224
283
284=item *
285
48ea5431
FC
286C<POSIX> has been upgraded from 1.21 to 1.22.
287
288=item *
289
b7bd32cc
FC
290C<re> has been upgraded from 0.13 to 0.14, for the sake of the new
291C<use re "/flags"> pragma.
dfa4c013 292
48ea5431
FC
293=item *
294
8ff01ef0
FC
295C<Safe> has been upgraded from 2.28 to 2.29.
296
297It adds C<&version::vxs::VCMP> to the default share.
298
299=item *
300
48ea5431
FC
301C<SDBM_File> has been upgraded from 1.07 to 1.08.
302
303=item *
304
a5e71717
FC
305C<SelfLoader> has been upgraded from 1.17 to 1.18.
306
307It now works in taint mode
308L<[perl #72062]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72062>.
309
310=item *
311
48ea5431
FC
312C<Socket> has been upgraded from 1.90 to 1.91.
313
a5e71717
FC
314=item *
315
316C<Sys::Hostname> has been upgraded from 1.13 to 1.14.
317
539ce3d8
CBW
318=item *
319
320C<Unicode::Collate> has been upgraded from 0.63 to 0.64
321
322This release newly adds locale C<ja> and the module
323C<Unicode::Collate::CJK::JISX0208> which makes tailoring of 6355 kanji
324(CJK Unified Ideographs) in the JIS X 0208 order.
325
8f97a47a 326=back
dfa4c013 327
8f97a47a 328=head2 Removed Modules and Pragmata
c02ee425 329
8f97a47a 330=over 4
1393fe00
CBW
331
332=item *
333
8f97a47a 334XXX
c9a84c8b 335
8f97a47a 336=back
918184d1 337
8f97a47a 338=head1 Documentation
918184d1 339
8f97a47a
TM
340XXX Changes to files in F<pod/> go here. Consider grouping entries by
341file and be sure to link to the appropriate page, e.g. L<perlfunc>.
918184d1 342
8f97a47a 343=head2 New Documentation
dca41e57 344
8f97a47a 345XXX Changes which create B<new> files in F<pod/> go here.
dca41e57 346
8f97a47a 347=head3 L<XXX>
c9a84c8b 348
8f97a47a 349XXX Description of the purpose of the new file here
4c793fe3 350
ee0887a9 351=head2 Changes to Existing Documentation
fc1418b7 352
8f97a47a
TM
353XXX Changes which significantly change existing files in F<pod/> go here.
354However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
355section.
356
7eb82171
DG
357=over
358
48ea5431
FC
359=item *
360
a5e71717 361Array and hash slices in scalar context are now documented in L<perldata>.
48ea5431 362
b293762b
FC
363=item *
364
365L<perlform> and L<perllocale> have been corrected to state that
366C<use locale> affects formats.
367
7eb82171
DG
368=back
369
8f97a47a 370=head3 L<XXX>
e2babdfb 371
7bc3efda
SH
372=over 4
373
374=item *
375
8f97a47a 376XXX Description of the change here
7bc3efda
SH
377
378=back
e2babdfb 379
4c793fe3
FR
380=head1 Diagnostics
381
382The following additions or changes have been made to diagnostic output,
383including warnings and fatal error messages. For the complete list of
384diagnostic messages, see L<perldiag>.
385
8f97a47a
TM
386XXX New or changed warnings emitted by the core's C<C> code go here. Also
387include any changes in L<perldiag> that reconcile it to the C<C> code.
4c793fe3 388
8f97a47a 389[ Within each section, list entries as a =item entry ]
4c793fe3 390
8f97a47a 391=head2 New Diagnostics
4c793fe3 392
8f97a47a 393XXX Newly added diagnostic messages go here
dc08898c
FC
394
395=over 4
396
397=item *
398
8f97a47a 399XXX
dc08898c
FC
400
401=back
402
8f97a47a 403=head2 Changes to Existing Diagnostics
4c793fe3 404
8f97a47a 405XXX Changes (i.e. rewording) of diagnostic messages go here
0c692eed 406
ee0887a9 407=over 4
0c692eed
FR
408
409=item *
410
8f97a47a 411XXX
4c793fe3
FR
412
413=back
414
8f97a47a 415=head1 Utility Changes
810f3b7c 416
8f97a47a
TM
417XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
418here. Most of these are built within the directories F<utils> and F<x2p>.
a9e68e41 419
8f97a47a
TM
420[ List utility changes as a =head3 entry for each utility and =item
421entries for each change
422Use L<XXX> with program names to get proper documentation linking. ]
a9e68e41 423
8f97a47a 424=head3 L<XXX>
85318b69 425
ee0887a9 426=over 4
80b6a949 427
e2babdfb
FR
428=item *
429
8f97a47a 430XXX
9ae8c3d9 431
ee0887a9 432=back
e2babdfb 433
8f97a47a 434=head1 Configuration and Compilation
e2babdfb 435
8f97a47a
TM
436XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
437go here. Any other changes to the Perl build process should be listed here.
438However, any platform-specific changes should be listed in the
439L</Platform Support> section, instead.
346e4e56 440
8f97a47a 441[ List changes as a =item entry ].
78846812 442
8f97a47a 443=over 4
e54f3f30
FC
444
445=item *
446
8f97a47a 447XXX
e54f3f30 448
8f97a47a 449=back
a5763045 450
8f97a47a 451=head1 Testing
5a9a79a4 452
8f97a47a
TM
453XXX Any significant changes to the testing of a freshly built perl should be
454listed here. Changes which create B<new> files in F<t/> go here as do any
455large changes to the testing harness (e.g. when parallel testing was added).
456Changes to existing files in F<t/> aren't worth summarising, although the bugs
457that they represent may be covered elsewhere.
5a9a79a4 458
8f97a47a 459[ List each test improvement as a =item entry ]
a7e93501 460
8f97a47a 461=over 4
a7e93501
FC
462
463=item *
464
8f97a47a 465XXX
a7e93501 466
8f97a47a 467=back
a7e93501 468
8f97a47a 469=head1 Platform Support
a7e93501 470
8f97a47a 471XXX Any changes to platform support should be listed in the sections below.
a7e93501 472
8f97a47a
TM
473[ Within the sections, list each platform as a =item entry with specific
474changes as paragraphs below it. ]
a7e93501 475
8f97a47a 476=head2 New Platforms
d4a59e54 477
8f97a47a
TM
478XXX List any platforms that this version of perl compiles on, that previous
479versions did not. These will either be enabled by new files in the F<hints/>
480directories, or new subdirectories and F<README> files at the top level of the
481source tree.
d4a59e54 482
8f97a47a 483=over 4
dc08898c 484
8f97a47a 485=item XXX-some-platform
dc08898c 486
8f97a47a 487XXX
dc08898c 488
8f97a47a 489=back
6904a83f 490
8f97a47a 491=head2 Discontinued Platforms
6904a83f 492
8f97a47a 493XXX List any platforms that this version of perl no longer compiles on.
6904a83f 494
8f97a47a 495=over 4
cffb3698 496
8f97a47a 497=item XXX-some-platform
ab4c2c27 498
8f97a47a 499XXX
ab4c2c27 500
8f97a47a 501=back
be1cc451 502
8f97a47a 503=head2 Platform-Specific Notes
be1cc451 504
8f97a47a
TM
505XXX List any changes for specific platforms. This could include configuration
506and compilation changes or changes in portability/compatibility. However,
507changes within modules for platforms should generally be listed in the
508L</Modules and Pragmata> section.
b20c4ee1 509
8f97a47a 510=over 4
b20c4ee1 511
b293762b 512=item Windows
afa74577 513
b293762b
FC
514Directory handles are now properly cloned when threads are created. In perl
5155.13.6, child threads simply stopped inheriting directory handles. In
516previous versions, threads would share handles, resulting in crashes.
afa74577 517
8f97a47a 518=back
c8bbf675 519
8f97a47a 520=head1 Internal Changes
c8bbf675 521
8f97a47a
TM
522XXX Changes which affect the interface available to C<XS> code go here.
523Other significant internal changes for future core maintainers should
524be noted as well.
07d5f7aa 525
8f97a47a 526[ List each test improvement as a =item entry ]
07d5f7aa 527
8f97a47a 528=over 4
07d5f7aa 529
9ae8c3d9
FC
530=item *
531
b7bd32cc
FC
532C<lex_start> has been added to the API, but is considered experimental.
533
534=item *
535
536A new C<parse_block> function has been added to the API
537L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
538
539=item *
540
c678e617 541A new, experimental API has been added for accessing the internal
b7bd32cc
FC
542structure that Perl uses for C<%^H>. See the functions beginning with
543C<cophh_> in L<perlapi>.
9ae8c3d9 544
a5e71717
FC
545=item *
546
547A stash can now have a list of effective names in addition to its usual
8ff01ef0
FC
548name. The first effective name can be accessed via the C<HvENAME> macro,
549which is now the recommended name to use in MRO linearisations (C<HvNAME>
550being a fallback if there is no C<HvENAME>).
551
552These names are added and deleted via C<hv_ename_add> and
553C<hv_ename_delete>. These two functions are I<not> part of the API.
a5e71717 554
b293762b
FC
555=item *
556
557The way the parser handles labels has been cleaned up and refactored. As a
558result, the C<newFOROP()> constructor function no longer takes a parameter
559stating what label is to go in the state op.
560
561=item *
562
563The C<newWHILEOP()> and C<newFOROP()> functions no longer accept a line
564number as a parameter.
565
566=item *
567
568A new C<parse_barestmt()> function has been added, for parsing a statement
569without a label.
570
571=item *
572
573A new C<parse_label()> function has been added, that parses a statement
574labels, separate from statements.
575
576=item *
577
578The C<CvSTASH()> macro can now only be used as an rvalue. C<CvSTASH_set()>
579has been added to replace assignment to C<CvSTASH()>. This is to ensure
580that backreferences are handled properly. These macros are not part of the
581API.
582
583=item *
584
585The C<op_scope()> and C<op_lvalue()> functions have been added to the API,
586but are considered experimental.
587
8f97a47a 588=back
825563b9 589
8f97a47a 590=head1 Selected Bug Fixes
825563b9 591
8f97a47a
TM
592XXX Important bug fixes in the core language are summarised here.
593Bug fixes in files in F<ext/> and F<lib/> are best summarised in
594L</Modules and Pragmata>.
825563b9 595
8f97a47a 596[ List each fix as a =item entry ]
825563b9 597
8f97a47a 598=over 4
825563b9 599
020fe755
AB
600=item *
601
b7bd32cc
FC
602The C<parse_stmt> C function added in earlier in the 5.13.x series has been
603fixed to work with statements ending with C<}>
604L<[perl #78222]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78222>.
605
606=item *
607
608The C<parse_fullstmt> C function added in 5.13.5 has been fixed to work
609when called while an expression is being parsed.
610
611=item *
612
613Characters in the Latin-1 non-ASCII range (0x80 to 0xFF) used not to match
614themselves if the string happened to be UTF8-encoded internally, the
615regular expression was not, and the character in the regular expression was
616inside a repeated group (e.g.,
c678e617 617C<Encode::decode_utf8("\303\200") =~ /(\xc0)+/>)
b7bd32cc
FC
618L<[perl #78464]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78464>.
619
620=item *
621
622The C<(?d)> regular expression construct now overrides a previous C<(?u)>
623or C<use feature "unicode_string">
624L<[perl #78508]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78508>.
625
626=item *
627
628A memory leak in C<do "file">, introduced in perl 5.13.6, has been fixed
629L<[perl #78488]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78488>.
020fe755 630
b293762b
FC
631=item *
632
633Various bugs related to typeglob dereferencing have been fixed. See
634L</Dereferencing typeglobs>, above.
635
636=item *
637
638The C<SvPVbyte> function available to XS modules now calls magic before
639downgrading the SV, to avoid warnings about wide characters
640L<[perl #72398]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72398>.
641
642=item *
643
644The C<=> operator used to ignore magic (e.g., tie methods) on its
645right-hand side if the scalar happened to hold a typeglob. This could
646happen if a typeglob was the last thing returned from or assigned to a tied
647scalar
648L<[perl #77498]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77498>.
649
650=item *
651
652C<sprintf> was ignoring locales when called with constant arguments
653L<[perl #78632]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78632>.
654
9b7c43ba
KW
655=item *
656
657A non-ASCII character in the Latin-1 range could match both a Posix
658class, such as C<[[:alnum:]]>, and its inverse C<[[:^alnum:]]>. This is
659now fixed for regular expressions compiled under the C<"u"> modifier.
660See L</C<use feature "unicode_strings"> now applies to more regex matching>.
661L<[perl #18281]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=18281>.
662
8ff01ef0
FC
663=item *
664
665Concatenating long strings under C<use encoding> no longer causes perl to
666crash
667L<[perl #78674]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=78674>.
668
669=item *
670
671Typeglob assignments would crash if the glob's stash no longer existed, if
672the glob assigned to was named 'ISA' or the glob on either side of the
673assignment contained a subroutine.
674
675=item *
676
677Calling C<< ->import >> on a class lacking an import method could corrupt the stack result in strange behaviour. For instance,
678
679 push @a, "foo", $b = bar->import;
680
681would assign 'foo' to C<$b>
682L<[perl #63790]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=63790>.
683
684=item *
685
686Creating an alias to a package when that package had been detached from the
687symbol table would result in corrupted isa caches
688L<[perl #77358]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=77358>.
689
690=item *
691
692C<.=> followed by C<< <> >> or C<readline> would leak memory if C<$/>
693contained characters beyond the octet range and the scalar assigned to
694happened to be encoded as UTF8 internally
695L<[perl #72246]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=72246>.
696
697=item *
698
699The C<recv> function could crash when called with the MSG_TRUNC flag
700L<[perl #75082]|http://rt.perl.org/rt3/Public/Bug/Display.html?id=75082>.
701
8f97a47a 702=back
020fe755 703
8f97a47a 704=head1 Known Problems
020fe755 705
8f97a47a
TM
706XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
707tests that had to be C<TODO>ed for the release would be noted here, unless
708they were specific to a particular platform (see below).
62ff64ce 709
8f97a47a
TM
710This is a list of some significant unfixed bugs, which are regressions
711from either 5.XXX.XXX or 5.XXX.XXX.
62ff64ce 712
8f97a47a 713[ List each fix as a =item entry ]
62ff64ce 714
8f97a47a 715=over 4
62ff64ce
FC
716
717=item *
718
8f97a47a 719XXX
62ff64ce 720
4c793fe3
FR
721=back
722
8f97a47a 723=head1 Obituary
405fd67e 724
8f97a47a
TM
725XXX If any significant core contributor has died, we've added a short obituary
726here.
405fd67e 727
ee0887a9 728=head1 Acknowledgements
0195fb5f 729
8f97a47a 730XXX The list of people to thank goes here.
4c793fe3
FR
731
732=head1 Reporting Bugs
733
734If you find what you think is a bug, you might check the articles
735recently posted to the comp.lang.perl.misc newsgroup and the perl
736bug database at http://rt.perl.org/perlbug/ . There may also be
737information at http://www.perl.org/ , the Perl Home Page.
738
739If you believe you have an unreported bug, please run the B<perlbug>
740program included with your release. Be sure to trim your bug down
741to a tiny but sufficient test case. Your bug report, along with the
742output of C<perl -V>, will be sent off to perlbug@perl.org to be
743analysed by the Perl porting team.
744
745If the bug you are reporting has security implications, which make it
746inappropriate to send to a publicly archived mailing list, then please send
ee0887a9 747it to perl5-security-report@perl.org. This points to a closed subscription
4c793fe3
FR
748unarchived mailing list, which includes all the core committers, who be able
749to help assess the impact of issues, figure out a resolution, and help
750co-ordinate the release of patches to mitigate or fix the problem across all
ee0887a9 751platforms on which Perl is supported. Please only use this address for
4c793fe3
FR
752security issues in the Perl core, not for modules independently
753distributed on CPAN.
754
755=head1 SEE ALSO
756
757The F<Changes> file for an explanation of how to view exhaustive details
758on what changed.
759
760The F<INSTALL> file for how to build Perl.
761
762The F<README> file for general stuff.
763
764The F<Artistic> and F<Copying> files for copyright information.
765
766=cut