=encoding utf8
=head1 NAME
perl5193delta - what is new for perl v5.19.3
=head1 DESCRIPTION
This document describes differences between the 5.19.2 release and the 5.19.3
release.
If you are upgrading from an earlier release such as 5.19.1, first read
L, which describes differences between 5.19.1 and 5.19.2.
=head1 Core Enhancements
=head2 B<-F> now implies B<-a> and B<-a> implies B<-n>
Previously B<-F> without B<-a> was a no-op, and B<-a> without B<-n> or B<-p>
was a no-op, with this change, if you supply B<-F> then both B<-a> and B<-n>
are implied and if you supply B<-a> then B<-n> is implied.
You can still use B<-p> for its extra behaviour. [perl #116190]
=head1 Security
=head2 Avoid possible read of free()d memory during parsing
It was possible that free()d memory could be read during parsing in the unusual
circumstance of the Perl program ending with a heredoc and the last line of the
file on disk having no terminating newline character. This has now been fixed.
=head1 Performance Enhancements
=over 4
=item *
A performance regression introduced in Perl 5.11.2 in non-Unicode
case-insensitive pattern matching has been largely resolved. In particular,
the disabled optimization is now restored for every ASCII-range character.
[perl #107816]
=back
=head1 Modules and Pragmata
=head2 Updated Modules and Pragmata
=over 4
=item *
L has been upgraded from version 1.44 to 1.45.
Calling the C method on C objects created from a lexical sub would
return nonsense, possibly crashing perl. C now returns C for
lexical subs. [perl #118525]
Added the C method to return the name of a lexical sub.
=item *
L has been upgraded from version 0.33 to 0.36.
L wasn't correctly updating an internal variable when C
flag was ignored. This has been
fixed. [perl #118213]
=item *
Starting in Perl 5.18.0, a construct like C[#](?{})/x> would have its C<#>
incorrectly interpreted as a comment. The code block would be skipped,
unparsed. This has been corrected.
=item *
Starting in Perl 5.001, a regular expression like C[#$a]/x> or C[#]$a/x>
would have its C<#> incorrectly interpreted as a comment, so the variable would
not interpolate. This has been corrected. [perl #45667]
=item *
On non-threaded builds, setting C<${"_Efilename"}> to a reference or
typeglob no longer causes C<__FILE__> and some error messages to produce a
corrupt string, and no longer prevents C<#line> directives in string evals from
providing the source lines to the debugger. Threaded builds were unaffected.
=item *
Enabling "used once" warnings no longer causes crashes on stash circularities
created at compile time (C<*Foo::Bar::Foo:: = *Foo::>).
=item *
Undef constants used in hash keys (C