This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Only generate above-Uni warning for \p{}, \P{}
[perl5.git] / pod / perldelta.pod
CommitLineData
44691e6f
AB
1=encoding utf8
2
3=head1 NAME
4
e96e0834
JL
5[ this is a template for a new perldelta file. Any text flagged as
6XXX needs to be processed before release. ]
27f00e3d 7
e96e0834 8perldelta - what is new for perl v5.17.2
417a992d 9
e96e0834 10=head1 DESCRIPTION
028c8719 11
e96e0834
JL
12This document describes differences between the 5.17.1 release and
13the 5.17.2 release.
028c8719 14
e96e0834
JL
15If you are upgrading from an earlier release such as 5.17.0, first read
16L<perl5171delta>, which describes differences between 5.17.0 and
175.17.1.
028c8719 18
e96e0834 19=head1 Notice
30608892 20
e96e0834 21XXX Any important notices here
e128ab2c 22
e96e0834 23=head1 Core Enhancements
e128ab2c 24
e96e0834
JL
25XXX New core language features go here. Summarise user-visible core language
26enhancements. Particularly prominent performance optimisations could go
27here, but most should go in the L</Performance Enhancements> section.
fe3193b5 28
e96e0834 29[ List each enhancement as a =head2 entry ]
05c8f9ed 30
90519d0f
FC
31=head2 C<kill> with negative signal names
32
33C<kill> has always allowed a negative signal number, which kills the
34process group instead of a single process. It has also allowed signal
35names. But it did not behave consistently, because negative signal names
36were treated as 0. Now negative signals names like C<-INT> are supported
37and treated the same way as -2 [perl #112990].
38
6db9054f
TC
39=head2 C<pack> is now constant folded.
40
41C<pack> with constant arguments is now constant folded in most cases
42[perl #113470].
43
e96e0834 44=head1 Security
0da72d5e 45
e96e0834
JL
46XXX Any security-related notices go here. In particular, any security
47vulnerabilities closed should be noted here rather than in the
48L</Selected Bug Fixes> section.
0da72d5e 49
e96e0834 50[ List each security issue as a =head2 entry ]
0da72d5e 51
e96e0834 52=head1 Incompatible Changes
0da72d5e 53
e96e0834 54XXX For a release on a stable branch, this section aspires to be:
0da72d5e 55
e96e0834
JL
56 There are no changes intentionally incompatible with 5.XXX.XXX
57 If any exist, they are bugs, and we request that you submit a
58 report. See L</Reporting Bugs> below.
0da72d5e 59
e96e0834 60[ List each incompatible change as a =head2 entry ]
e2f0c3bb 61
e96e0834 62=head1 Deprecations
e2f0c3bb 63
e96e0834
JL
64XXX Any deprecated features, syntax, modules etc. should be listed here.
65In particular, deprecated modules should be listed here even if they are
66listed as an updated module in the L</Modules and Pragmata> section.
7d101ed1 67
e96e0834 68[ List each deprecation as a =head2 entry ]
7d101ed1 69
e96e0834 70=head1 Performance Enhancements
7d101ed1 71
e96e0834
JL
72XXX Changes which enhance performance without changing behaviour go here. There
73may well be none in a stable release.
7d101ed1 74
e96e0834 75[ List each enhancement as a =item entry ]
95ce428c 76
f9001595 77=over 4
75ff5956 78
2630d42b 79=item *
c11980ad 80
e96e0834 81XXX
53de3ff0 82
61174fb5 83=back
ef7131e9 84
61174fb5 85=head1 Modules and Pragmata
ef7131e9 86
e96e0834
JL
87XXX All changes to installed files in F<cpan/>, F<dist/>, F<ext/> and F<lib/>
88go here. If Module::CoreList is updated, generate an initial draft of the
89following sections using F<Porting/corelist-perldelta.pl>, which prints stub
90entries to STDOUT. Results can be pasted in place of the '=head2' entries
91below. A paragraph summary for important changes should then be added by hand.
92In an ideal world, dual-life modules would have a F<Changes> file that could be
93cribbed.
5cefbec9 94
e96e0834 95[ Within each section, list entries as a =item entry ]
fbdb83f3 96
e96e0834 97=head2 New Modules and Pragmata
95c6c5c5 98
e96e0834 99=over 4
9331f04e
NC
100
101=item *
102
e96e0834 103XXX
95c6c5c5 104
e96e0834 105=back
ff3f295c 106
e96e0834 107=head2 Updated Modules and Pragmata
ff3f295c 108
e96e0834 109=over 4
95c6c5c5 110
95c6c5c5
JL
111=item *
112
4c77591b
NC
113L<File::stat> has been upgraded from version 1.06 to 1.07.
114
115Previously C<File::stat>'s overloaded C<-x> and C<-X> operators did not give
116the correct results for directories or executable files when running as
117root. They had been treating executable permissions for root just like for
118any other user, performing group membership tests I<etc> for files not owned
119by root. They now follow the correct Unix behaviour - for a directory they
120are always true, and for a file if any of the three execute permission bits
121are set then they report that root can execute the file. Perl's builtin
122C<-x> and C<-X> operators have always been correct.
c506fc7e 123
36ab1671
FC
124=item *
125
126L<Tie::StdHandle> has been upgraded from version 4.2 to 4.3.
127
128C<READ> now respects the offset argument to C<read> [perl #112826].
129
df2c1bb8
TC
130=item *
131
132L<IO> has been upgraded from version 1.25_07 to 1.25_08.
133
134L<IO::Socket> tries harder to cache or otherwise fetch socket
135information.
136
7ab2ea42
TC
137=item *
138
139L<Storable> has been upgraded from version 2.36 to 2.37.
140
141Restricted hashes were not always thawed correctly [perl #73972].
142
143Storable would croak when freezing a blessed REF object with a
144C<STORABLE_freeze()> method [perl #113880].
145
3be135d8
TC
146=item *
147
148L<Socket> has been upgraded from version 2.001 to 2.002.
149
6db9054f
TC
150=item *
151
152L<autodie> has been upgraded from version 2.11 to 2.12.
153
154C<autodie> now plays nicely with the 'open' pragma.
155
156=item *
157
158L<File::Fetch> has been upgraded from version 0.34 to 0.36.
159
160Added the 'file_default' option for URLs that do not have a file
161component.
162
e96e0834 163=back
c506fc7e 164
e96e0834 165=head2 Removed Modules and Pragmata
c506fc7e 166
e96e0834 167=over 4
95c6c5c5 168
95c6c5c5
JL
169=item *
170
e96e0834 171XXX
95c6c5c5 172
e96e0834 173=back
95c6c5c5 174
e96e0834 175=head1 Documentation
95c6c5c5 176
e96e0834
JL
177XXX Changes to files in F<pod/> go here. Consider grouping entries by
178file and be sure to link to the appropriate page, e.g. L<perlfunc>.
95c6c5c5 179
e96e0834 180=head2 New Documentation
1c633914 181
e96e0834 182XXX Changes which create B<new> files in F<pod/> go here.
f558db2f 183
e96e0834 184=head3 L<XXX>
66aa79e2 185
e96e0834 186XXX Description of the purpose of the new file here
95c6c5c5 187
e96e0834 188=head2 Changes to Existing Documentation
95c6c5c5 189
e96e0834
JL
190XXX Changes which significantly change existing files in F<pod/> go here.
191However, any changes to F<pod/perldiag.pod> should go in the L</Diagnostics>
192section.
95c6c5c5 193
66b30015 194=head3 L<perlfunc>
95c6c5c5 195
e96e0834 196=over 4
95c6c5c5
JL
197
198=item *
199
66b30015 200Clarified documentation of C<our>.
95c6c5c5 201
e96e0834 202=back
95c6c5c5 203
e96e0834 204=head1 Diagnostics
95c6c5c5 205
e96e0834
JL
206The following additions or changes have been made to diagnostic output,
207including warnings and fatal error messages. For the complete list of
208diagnostic messages, see L<perldiag>.
95c6c5c5 209
e96e0834
JL
210XXX New or changed warnings emitted by the core's C<C> code go here. Also
211include any changes in L<perldiag> that reconcile it to the C<C> code.
71014848 212
e96e0834
JL
213[ Within each section, list entries as a =item entry that links to perldiag,
214 e.g.
71014848 215
e96e0834 216 =item *
95c6c5c5 217
e96e0834
JL
218 L<Invalid version object|perldiag/"Invalid version object">
219]
95c6c5c5 220
e96e0834 221=head2 New Diagnostics
95c6c5c5 222
e96e0834 223XXX Newly added diagnostic messages go here
95c6c5c5 224
e96e0834 225=head3 New Errors
95c6c5c5 226
e96e0834 227=over 4
95c6c5c5 228
95c6c5c5
JL
229=item *
230
a9be10f4 231L<Group name must start with a non-digit word character in regex; marked by <-- HERE in mE<sol>%sE<sol>|perldiag/"Group name must start with a non-digit word character in regex; marked by <-- HERE in m/%s/">
40e43b78
FC
232
233This error has been added for C<(?&0)>, which is invalid. It used to
234produce an incomprehensible error message [perl #101666].
95c6c5c5 235
b8a55fe7
FC
236=item *
237
238L<Can't use an undefined value as a subroutine reference|perldiag/"Can't use an undefined value as %s reference">
239
240Calling an undefined value as a subroutine now produces this error message.
241It used to, but was accidentally disabled, first in Perl 5.004 for
242non-magical variables, and then in Perl 5.14 for magical (e.g., tied)
243variables. It has now been restored. In the mean time, undef was treated
244as an empty string [perl #113576].
245
e96e0834 246=back
95c6c5c5 247
e96e0834 248=head3 New Warnings
95c6c5c5 249
e96e0834 250=over 4
95c6c5c5 251
95c6c5c5
JL
252=item *
253
72267260
JL
254C<chr()> now warns when passed a negative value [perl #83048].
255
256=item *
257
258C<srand()> now warns when passed a value that doesn't fit in a C<UV> (since the
259value will be truncated rather than overflowing) [perl #40605].
7d101ed1 260
e013ada0
JL
261=item *
262
263Running perl with the C<-i> flag now warns if no input files are provided on
264the command line [perl #113410].
265
e96e0834 266=back
d9661073 267
e96e0834 268=head2 Changes to Existing Diagnostics
95c6c5c5 269
e96e0834 270XXX Changes (i.e. rewording) of diagnostic messages go here
95c6c5c5 271
e96e0834 272=over 4
95c6c5c5
JL
273
274=item *
275
90519d0f
FC
276The 'Can't use "my %s" in sort comparison' error has been downgraded to a
277warning, '"my %s" used in sort comparison' (with 'state' instead of 'my'
278for state variables). In addition, the heuristics for guessing whether
279lexical $a or $b has been misused have been improved to generate fewer
280false positives. Lexical $a and $b are no longer disallowed if they are
281outside the sort block. Also, a named unary or list operator inside the
282sort block no longer causes the $a or $b to be ignored [perl #86136].
3630f57e 283
e96e0834 284=back
3630f57e 285
e96e0834 286=head1 Utility Changes
95c6c5c5 287
e96e0834
JL
288XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
289here. Most of these are built within the directories F<utils> and F<x2p>.
95c6c5c5 290
e96e0834
JL
291[ List utility changes as a =head3 entry for each utility and =item
292entries for each change
293Use L<XXX> with program names to get proper documentation linking. ]
95c6c5c5 294
e96e0834 295=head3 L<XXX>
95c6c5c5 296
e96e0834 297=over 4
95c6c5c5
JL
298
299=item *
300
e96e0834 301XXX
95c6c5c5 302
e96e0834 303=back
95c6c5c5 304
e96e0834 305=head1 Configuration and Compilation
95c6c5c5 306
e96e0834
JL
307XXX Changes to F<Configure>, F<installperl>, F<installman>, and analogous tools
308go here. Any other changes to the Perl build process should be listed here.
309However, any platform-specific changes should be listed in the
310L</Platform Support> section, instead.
95c6c5c5 311
e96e0834 312[ List changes as a =item entry ].
95c6c5c5 313
e96e0834 314=over 4
95c6c5c5
JL
315
316=item *
317
c5057b0f
FC
318Building perl with some Windows compilers used to fail due to a problem
319with miniperl's C<glob> operator (which uses the C<perlglob> program)
320deleting the PATH environment variable [perl #113798].
95c6c5c5 321
e96e0834 322=back
95c6c5c5 323
e96e0834 324=head1 Testing
95c6c5c5 325
e96e0834
JL
326XXX Any significant changes to the testing of a freshly built perl should be
327listed here. Changes which create B<new> files in F<t/> go here as do any
328large changes to the testing harness (e.g. when parallel testing was added).
329Changes to existing files in F<t/> aren't worth summarising, although the bugs
330that they represent may be covered elsewhere.
95c6c5c5 331
e96e0834 332[ List each test improvement as a =item entry ]
95c6c5c5 333
e96e0834 334=over 4
95c6c5c5
JL
335
336=item *
337
e96e0834 338XXX
95c6c5c5 339
61174fb5 340=back
f558db2f 341
e96e0834 342=head1 Platform Support
05c8f9ed 343
e96e0834 344XXX Any changes to platform support should be listed in the sections below.
05c8f9ed 345
e96e0834
JL
346[ Within the sections, list each platform as a =item entry with specific
347changes as paragraphs below it. ]
9dea6244 348
e96e0834 349=head2 New Platforms
9dea6244 350
e96e0834
JL
351XXX List any platforms that this version of perl compiles on, that previous
352versions did not. These will either be enabled by new files in the F<hints/>
353directories, or new subdirectories and F<README> files at the top level of the
354source tree.
7d101ed1
JL
355
356=over 4
357
42d72fc5 358=item XXX
7d101ed1 359
7d101ed1
JL
360
361=back
362
e96e0834 363=head2 Discontinued Platforms
ef7131e9 364
e96e0834 365XXX List any platforms that this version of perl no longer compiles on.
4a301309
FC
366
367=over 4
368
e96e0834 369=item XXX-some-platform
8dffc0ab 370
e96e0834 371XXX
dbc84d79 372
4a301309
FC
373=back
374
61174fb5 375=head2 Platform-Specific Notes
ceb0881c 376
e96e0834
JL
377XXX List any changes for specific platforms. This could include configuration
378and compilation changes or changes in portability/compatibility. However,
379changes within modules for platforms should generally be listed in the
380L</Modules and Pragmata> section.
89cbc6b8 381
e96e0834 382=over 4
0998713f 383
5edb02d0 384=item VMS
112b6866 385
5edb02d0
CB
386Quotes are now removed from the command verb (but not the parameters) for commands
387spawned via C<system>, backticks, or a piped C<open>. Previously, quotes on the verb
388were passed through to DCL, which would fail to recognize the command. Also, if the
389verb is actually a path to an image or command procedure on an ODS-5 volume, quoting it
390now allows the path to contain spaces.
112b6866 391
42d72fc5
TC
392=item AIX
393
394Configure now always adds -qlanglvl=extc99 to the CC flags on AIX when
395using xlC. This will make it easier to compile a number of XS-based modules
396that assume C99 [perl #113778].
397
61174fb5 398=back
8e125188 399
61174fb5 400=head1 Internal Changes
8e125188 401
e96e0834
JL
402XXX Changes which affect the interface available to C<XS> code go here.
403Other significant internal changes for future core maintainers should
404be noted as well.
c4643160 405
e96e0834 406[ List each change as a =item entry ]
f8ef51fd 407
e96e0834 408=over 4
e128ab2c 409
e2f0c3bb
FC
410=item *
411
16e4fcbf
CS
412Perl used to implement get magic in a way that would sometimes hide bugs in
413code could call mg_get() too many times on magical values. This hiding of
414errors no longer occurs, so long-standing bugs may become visible now. If
415you see magic-related errors in XS code, check to make sure it, together
416with the Perl API functions it uses, calls mg_get() only once on SvGMAGICAL()
417values.
418
419=item *
420
7ab2ea42
TC
421OP allocation for CVs now uses a slab allocator. This simplifies
422memory management for OPs allocated to a CV, so cleaning up after a
423compilation error is simpler and safer [perl #111462][perl #112312].
e2f0c3bb 424
90519d0f
FC
425=item *
426
427PERL_DEBUG_READONLY_OPS has been rewritten to work with the new slab
428allocator, allowing it to catch more violations that befor.
429
430=item *
431
432The old slab allocator for ops, which was only enabled for PERL_IMPLICIT_SYS and PERL_DEBUG_READONLY_OPS, has been retired.
433
61174fb5 434=back
422287bf 435
61174fb5 436=head1 Selected Bug Fixes
2de6ba8d 437
e96e0834
JL
438XXX Important bug fixes in the core language are summarised here.
439Bug fixes in files in F<ext/> and F<lib/> are best summarised in
440L</Modules and Pragmata>.
52c4b146 441
e96e0834 442[ List each fix as a =item entry ]
e128ab2c
DM
443
444=over 4
445
446=item *
447
48895a0d 448A regression introduced in v5.14.0 has been fixed, in which some calls
7ab2ea42 449to the C<re> module would clobber C<$_> [perl #113750].
e128ab2c 450
8b1adbab
JL
451=item *
452
453C<do FILE> now always either sets or clears C<$@>, even when the file can't be
454read. This ensures that testing C<$@> first (as recommended by the
455documentation) always returns the correct result.
456
83f29afa
VP
457=item *
458
459The array iterator used for the C<each @array> construct is now correctly
460reset when C<@array> is cleared (RT #75596). This happens for example when the
461array is globally assigned to, as in C<@array = (...)>, but not when its
462B<values> are assigned to. In terms of the XS API, it means that C<av_clear()>
463will now reset the iterator.
464
465This mirrors the behaviour of the hash iterator when the hash is cleared.
466
0938f143
JL
467=item *
468
469C<< $class->can >>, C<< $class->isa >>, and C<< $class->DOES >> now return
470correct results, regardless of whether that package referred to by C<$class>
471exists [perl #47113].
472
72267260
JL
473=item *
474
475Arriving signals no longer clear C<$@> [perl #45173].
476
7a251f7a
JL
477=item *
478
479Allow C<my ()> declarations with an empty variable list [perl #113554].
480
21247d85
FC
481=item *
482
483During parsing, subs declared after errors no longer leave stubs
484[perl #113712].
485
2e4f8b82
FC
486=item *
487
c95d4104
FC
488Closures containing no string evals no longer hang on to their containing
489subroutines, allowing variables closed over by outer subroutines to be
490freed when the outer sub is freed, even if the inner sub still exists
491[perl #89544].
492
788505db
FC
493=item *
494
495Duplication of in-memory filehandles by opening with a "<&=" or ">&=" mode
496stopped working properly in 5.16.0. It was causing the new handle to
497reference a different scalar variable. This has been fixed [perl #113764].
498
2c2b9cf4
FC
499=item *
500
501C<qr//> expressions no longer crash with custom regular expression engines
502that do not set C<offs> at regular expression compilation time
503[perl #112962].
504
3cd56aaa
TC
505=item *
506
507C<delete local> no longer crashes with certain magical arrays and hashes
508[perl #112966].
509
510=item *
511
512C<local> on elements of certain magical arrays and hashes used not to
513arrange to have the element deleted on scope exit, even if the element did
514not exist before C<local>.
515
516=item *
517
518C<scalar(write)> no longer returns multiple items [perl #73690].
519
520=item *
521
522String to floating point conversions no longer misparse certain strings under
523C<use locale> [perl #109318].
524
525=item *
526
527C<@INC> filters that die no longer leak memory [perl #92252].
528
529=item *
530
531The implementations of overloaded operations are now called in the correct
532context. This allows, among other things, being able to properly override
533C<< <> >> [perl #47119].
534
535=item *
536
537Specifying only the C<fallback> key when calling C<use overload> now behaves
538properly [perl #113010].
539
c0c19433
JL
540=item *
541
542C<< sub foo { my $a = 0; while ($a) { ... } } >> and
543C<< sub foo { while (0) { ... } } >> now return the same thing [perl #73618].
544
7ab2ea42
TC
545=item *
546
f4df6cb9 547Fixed the debugger C<l> and C<M> commands, and other debugger
7ab2ea42
TC
548functionality which was broken in 5.17.0 [perl #113918].
549
550=item *
551
552String negation now behaves the same under C<use integer;> as it does
553without [perl #113012].
554
90519d0f
FC
555=item *
556
557C<chr> now returns the Unicode replacement character (U+FFFD) for -1,
558regardless of the internal representation. -1 used to wrap if the argument
559was tied or a string internally.
560
561=item *
562
563Using a C<format> after its enclosing sub was freed could crash as of
564perl 5.12.0, if the format referenced lexical variables from the outer sub.
565
566=item *
567
568Using a C<format> after its enclosing sub was undefined could crash as of
569perl 5.10.0, if the format referenced lexical variables from the outer sub.
570
571=item *
572
573Using a C<format> defined inside a closures, which format references
574lexical variables from outside, never really worked unless the C<write>
575call was directly inside the closure. In 5.10.0 it even started crashing.
576Now the copy of that closure nearest the top of the call stack is used to
577find those variables.
578
579=item *
580
581Formats that close over variables in special blocks no longer crash if a
582stub exists with the same name as the special block before the special
583block is compiled.
584
585=item *
586
587The parser no longer gets confused, treating C<eval foo ()> as a syntax
588error if preceded by C<print;> [perl #16249].
589
590=item *
591
592The return value of C<syscall> is no longer truncated on 64-bit platforms
593[perl #113980].
594
595=item *
596
597Constant folding no longer causes C<print 1 ? FOO : BAR> to print to the
598FOO handle [perl #78064].
599
600=item *
601
602C<do subname> now calls the named subroutine and uses the file name it
603returns, instead of opening a file named "subname".
604
605=item *
606
607Subroutines looked up by rv2cv check hooks (registered by XS modules) are
608now taken into consideration when determining whether C<foo bar> should be
609the sub call C<foo(bar)> or the method call C<< "bar"->foo >>.
610
611=item *
612
613C<CORE::foo::bar> is no longer treated specially, allowing global overrides
614to be called directly via C<CORE::GLOBAL::uc(...)> [perl #113016].
615
616=item *
617
618Calling an undefined sub whose typeglob has been undefined now produces the
619customary "Undefined subroutine called" error, instead of "Not a CODE
620reference".
621
b8a55fe7
FC
622=item *
623
624Two bugs involving @ISA have been fixed. C<*ISA = *glob_without_array> and
625C<undef *ISA; @{*ISA}> would prevent future modifications to @ISA from
626updating the internal caches used to look up methods. The
627*glob_without_array case was a regression from Perl 5.12.
628
629=item *
630
631Regular expression optimisations sometimes caused C<$> with C</m> to
632produce failed or incorrect matches [perl #114068].
633
634=item *
635
636C<__SUB__> now works in a C<sort> block when the enclosing subroutine is
637predeclared with C<sub foo;> syntax [perl #113710].
638
5073ffbd
KW
639=item *
640
641Unicode properties only apply to Unicode code points, which leads to
642some subtleties when regular expressions are matched against
643above-Unicode code points. There is a warning generated to draw your
644attention to this. However, this warning was being generated
645inappropriately in some cases, such as when a program was being parsed.
646Non-Unicode matches such as C<\w> and C<[:word;]> should not generate the
647warning, as their definitions don't limit them to apply to only Unicode
648code points. Now the message is only generated when matching against
649C<\p{}> and C<\P{}>. There remains a bug, [perl #114148], for the very
650few properties in Unicode that match just a single code point. The
651warning is not generated if they are matched against an above-Unicode
652code point.
653
e128ab2c
DM
654=back
655
e96e0834 656=head1 Known Problems
dbc84d79 657
e96e0834
JL
658XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
659tests that had to be C<TODO>ed for the release would be noted here. Unfixed
660platform specific bugs also go here.
53de3ff0 661
e96e0834 662[ List each fix as a =item entry ]
233bba44
JL
663
664=over 4
665
666=item *
667
e96e0834 668XXX
233bba44 669
e96e0834 670=back
233bba44 671
e96e0834 672=head1 Obituary
233bba44 673
e96e0834
JL
674XXX If any significant core contributor has died, we've added a short obituary
675here.
233bba44 676
61174fb5 677=head1 Acknowledgements
d5dc7001 678
e96e0834
JL
679XXX Generate this with:
680
681 perl Porting/acknowledgements.pl v5.17.1..HEAD
29cf780c 682
44691e6f
AB
683=head1 Reporting Bugs
684
685If you find what you think is a bug, you might check the articles
52deee2e 686recently posted to the comp.lang.perl.misc newsgroup and the perl
f9001595
RS
687bug database at http://rt.perl.org/perlbug/ . There may also be
688information at http://www.perl.org/ , the Perl Home Page.
44691e6f
AB
689
690If you believe you have an unreported bug, please run the L<perlbug>
52deee2e
DR
691program included with your release. Be sure to trim your bug down
692to a tiny but sufficient test case. Your bug report, along with the
693output of C<perl -V>, will be sent off to perlbug@perl.org to be
694analysed by the Perl porting team.
44691e6f
AB
695
696If the bug you are reporting has security implications, which make it
f9001595
RS
697inappropriate to send to a publicly archived mailing list, then please send
698it to perl5-security-report@perl.org. This points to a closed subscription
699unarchived mailing list, which includes
700all the core committers, who will be able
701to help assess the impact of issues, figure out a resolution, and help
702co-ordinate the release of patches to mitigate or fix the problem across all
703platforms on which Perl is supported. Please only use this address for
704security issues in the Perl core, not for modules independently
705distributed on CPAN.
44691e6f
AB
706
707=head1 SEE ALSO
708
52deee2e
DR
709The F<Changes> file for an explanation of how to view exhaustive details
710on what changed.
44691e6f
AB
711
712The F<INSTALL> file for how to build Perl.
713
714The F<README> file for general stuff.
715
716The F<Artistic> and F<Copying> files for copyright information.
717
718=cut