=encoding utf8
=head1 NAME
perl5220delta - what is new for perl v5.22.0
=head1 DESCRIPTION
This document describes differences between the 5.20.0 release and the 5.22.0
release.
If you are upgrading from an earlier release such as 5.18.0, first read
L, which describes differences between 5.18.0 and 5.20.0.
=head1 Core Enhancements
=head2 New bitwise operators
A new experimental facility has been added that makes the four standard
bitwise operators (C<& | ^ ~>) treat their operands consistently as
numbers, and introduces four new dotted operators (C<&. |. ^. ~.>) that
treat their operands consistently as strings. The same applies to the
assignment variants (C<&= |= ^= &.= |.= ^.=>).
To use this, enable the "bitwise" feature and disable the
"experimental::bitwise" warnings category. See L for details.
L<[perl #123466]|https://rt.perl.org/Ticket/Display.html?id=123466>.
=head2 New double-diamond operator
C<<< <<>> >>> is like C<< <> >> but uses three-argument C to open
each file in C<@ARGV>. This means that each element of C<@ARGV> will be treated
as an actual file name, and C<"|foo"> won't be treated as a pipe open.
=head2 New C<\b> boundaries in regular expressions
=head3 C
C stands for Grapheme Cluster Boundary. It is a Unicode property
that finds the boundary between sequences of characters that look like a
single character to a native speaker of a language. Perl has long had
the ability to deal with these through the C<\X> regular escape
sequence. Now, there is an alternative way of handling these. See
L for details.
=head3 C
C stands for Word Boundary. It is a Unicode property
that finds the boundary between words. This is similar to the plain
C<\b> (without braces) but is more suitable for natural language
processing. It knows, for example, that apostrophes can occur in the
middle of words. See L for details.
=head3 C
C stands for Sentence Boundary. It is a Unicode property
to aid in parsing natural language sentences.
See L for details.
=head2 Non-Capturing Regular Expression Flag
Regular expressions now support a C flag that disables capturing
and filling in C<$1>, C<$2>, etc inside of groups:
"hello" =~ /(hi|hello)/n; # $1 is not set
This is equivalent to putting C at the beginning of every capturing group.
See L for more information.
=head2 C