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 )