perl
view release on metacpan or search on metacpan
pod/perl5160delta.pod view on Meta::CPAN
VM/ESA
=back
=head2 Other Future Deprecations
=over
=item *
Swapping of $< and $>
For more information about this future deprecation, see L<the relevant RT
ticket|https://github.com/Perl/perl5/issues/11547>.
=item *
sfio, stdio
Perl supports being built without PerlIO proper, using a stdio or sfio
wrapper instead. A perl build like this will not support IO layers and
thus Unicode IO, making it rather handicapped.
PerlIO supports a C<stdio> layer if stdio use is desired, and similarly a
sfio layer could be produced.
=item *
Unescaped literal C<< "{" >> in regular expressions.
Starting with v5.20, it is planned to require a literal C<"{"> to be
escaped, for example by preceding it with a backslash. In v5.18, a
deprecated warning message will be emitted for all such uses.
This affects only patterns that are to match a literal C<"{">. Other
uses of this character, such as part of a quantifier or sequence as in
those below, are completely unaffected:
/foo{3,5}/
/\p{Alphabetic}/
/\N{DIGIT ZERO}
Removing this will permit extensions to Perl's pattern syntax and better
error checking for existing syntax. See L<perlre/Quantifiers> for an
example.
=item *
Revamping C<< "\Q" >> semantics in double-quotish strings when combined with other escapes.
There are several bugs and inconsistencies involving combinations
of C<\Q> and escapes like C<\x>, C<\L>, etc., within a C<\Q...\E> pair.
These need to be fixed, and doing so will necessarily change current
behavior. The changes have not yet been settled.
=back
=head1 Incompatible Changes
=head2 Special blocks called in void context
Special blocks (C<BEGIN>, C<CHECK>, C<INIT>, C<UNITCHECK>, C<END>) are now
called in void context. This avoids wasteful copying of the result of the
last statement [perl #108794].
=head2 The C<overloading> pragma and regexp objects
With C<no overloading>, regular expression objects returned by C<qr//> are
now stringified as "Regexp=REGEXP(0xbe600d)" instead of the regular
expression itself [perl #108780].
=head2 Two XS typemap Entries removed
Two presumably unused XS typemap entries have been removed from the
core typemap: T_DATAUNIT and T_CALLBACK. If you are, against all odds,
a user of these, please see the instructions on how to restore them
in L<perlxstypemap>.
=head2 Unicode 6.1 has incompatibilities with Unicode 6.0
These are detailed in L</Supports (almost) Unicode 6.1> above.
You can compile this version of Perl to use Unicode 6.0. See
L<perlunicode/Hacking Perl to work on earlier Unicode versions (for very serious hackers only)>.
=head2 Borland compiler
All support for the Borland compiler has been dropped. The code had not
worked for a long time anyway.
=head2 Certain deprecated Unicode properties are no longer supported by default
Perl should never have exposed certain Unicode properties that are used
by Unicode internally and not meant to be publicly available. Use of
these has generated deprecated warning messages since Perl 5.12. The
removed properties are Other_Alphabetic,
Other_Default_Ignorable_Code_Point, Other_Grapheme_Extend,
Other_ID_Continue, Other_ID_Start, Other_Lowercase, Other_Math, and
Other_Uppercase.
Perl may be recompiled to include any or all of them; instructions are
given in
L<perluniprops/Unicode character properties that are NOT accepted by Perl>.
=head2 Dereferencing IO thingies as typeglobs
The C<*{...}> operator, when passed a reference to an IO thingy (as in
C<*{*STDIN{IO}}>), creates a new typeglob containing just that IO object.
Previously, it would stringify as an empty string, but some operators would
treat it as undefined, producing an "uninitialized" warning.
Now it stringifies as __ANONIO__ [perl #96326].
=head2 User-defined case-changing operations
This feature was deprecated in Perl 5.14, and has now been removed.
The CPAN module L<Unicode::Casing> provides better functionality without
the drawbacks that this feature had, as are detailed in the 5.14
documentation:
L<http://perldoc.perl.org/5.14.0/perlunicode.html#User-Defined-Case-Mappings-%28for-serious-hackers-only%29>
=head2 XSUBs are now 'static'
XSUB C functions are now 'static', that is, they are not visible from
( run in 4.381 seconds using v1.01-cache-2.11-cpan-524268b4103 )