=head2 In @INC, move ARCHLIB and PRIVLIB after the current version's site_perl and vendor_perl.
-
=head2 Switch statement changes
The handling of complex expressions by the C<given>/C<when> switch
=head2 You can now set C<-W> from the C<PERL5OPT> environment varialbe
-
-
=head1 Modules and Pragmata
=head2 New Modules and Pragmata
C<Carp::Heavy> on demand. C<Carp::Heavy> is now a simple, empty module
kept for backwards compatibility for programs that used to pre-load it.
-
=item C<CGI>
Upgraded from version 3.29 to 3.43.
UNIVERSAL->import() is now deprecated.
-
=item C<Win32>
Upgraded from version 0.34 to 0.39.
The debugger now correctly handles proxy constant subroutines, and
subroutine stubs.
-
=item F<perlbug>
- Perlbug now uses %Module::CoreList::bug_tracker to print out upstream bug tracker URLs.
+F<perlbug> now uses %Module::CoreList::bug_tracker to print out upstream bug
+tracker URLs.
Where the user names a module that their bug report is about, and we know the
URL for its upstream bug tracker, provide a message to the user explaining
=head1 Changes to Existing Documentation
-The various large C<Changes*> files (which listed every change made to perl
+The various large F<Changes*> files (which listed every change made to perl
over the last 18 years) have been removed, and replaced by a small file,
-also called C<Changes>, which just explains how that same information may
+also called F<Changes>, which just explains how that same information may
be extracted from the git version control system.
The file F<Porting/patching.pod> has been deleted, as it mainly described
With version objects, we need them to use MODULE VERSION syntax. This
patch removes the deprecation note.
-
=head1 Performance Enhancements
=over 4
shell and other utilities that depend on POSIX exit values. See
L<perlvms/"$?"> for details.
-File::Copy now detects Unix compatibility mode on VMS.
+C<File::Copy> now detects Unix compatibility mode on VMS.
=back
as documented, and as does C<-I> when specified on the command-line.
(Renée Bäcker)
-=item
+=item *
-* C<kill> is now fatal when called on non-numeric process identifiers.
+C<kill> is now fatal when called on non-numeric process identifiers.
Previously, an 'undef' process identifier would be interpreted as a request to
kill process "0", which would terminate the current process group on POSIX
systems. Since process identifiers are always integers, killing a non-numeric
=item *
-A new tool, C<Porting/expand-macro.pl> has been added, that allows you
+A new tool, F<Porting/expand-macro.pl> has been added, that allows you
to view how a C preprocessor macro would be expanded when compiled.
This is handy when trying to decode the macro hell that is the perl
guts.
Some regexes may run much more slowly when run in a child thread compared
with the thread the pattern was compiled into [RT #55600].
-
=back
=head1 Deprecations
This uses a new warnings category: "imprecision".
-
=item *
Make lc/uc/lcfirst/ucfirst warn when passed undef.
anonymous, ☄, Tom Hukins, anonymous, Jesse, dagolden, Moritz Onken,
Mark Fowler, chorny, anonymous, tmtm
-
Finally, thanks to Larry Wall, without whom none of this would be
necessary.