digits". This means the same wording is used for this kind of error as
with similar constructs such as C<\p{}>.
+=item *
+
+Within the scope of the experimental feature C<use re 'strict'>,
+specifying C<\x{}> without anything between the braces now yields the
+fatal error message "Empty \x{}". Previously it was "Number with no
+digits". This means the same wording is used for this kind of error as
+with similar constructs such as C<\p{}>. It is legal, though not wise
+to have an empty C<\x> outside of C<re 'strict'>; it silently generates
+a NUL character.
+
=back
=head1 Utility Changes
=item Empty \%c{} in regex; marked by S<<-- HERE> in m/%s/
-(F) You used something like C<\b{}>, C<\B{}>, C<\o{}>, C<\p>, C<\P>
-without specifying anything for it to operate on.
+(F) You used something like C<\b{}>, C<\B{}>, C<\o{}>, C<\p>, C<\P>, or
+C<\x> without specifying anything for it to operate on.
+
+Unfortunately, for backwards compatibility reasons, an empty C<\x> is
+legal outside S<C<use re 'strict'>> and expands to a NUL character.
=item ${^ENCODING} is no longer supported
'/(?[ \o{} ])/' => 'Empty \o{} {#} m/(?[ \o{}{#} ])/',
'/(?[ \x{defg} ])/' => 'Non-hex character {#} m/(?[ \x{defg{#}} ])/',
'/(?[ \xabcdef ])/' => 'Use \\x{...} for more than two hex characters {#} m/(?[ \xabc{#}def ])/',
- '/(?[ \x{} ])/' => 'Number with no digits {#} m/(?[ \x{}{#} ])/',
+ '/(?[ \x{} ])/' => 'Empty \x{} {#} m/(?[ \x{}{#} ])/',
'/(?[ \cK + ) ])/' => 'Unexpected \')\' {#} m/(?[ \cK + ){#} ])/',
'/(?[ \cK + ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ \cK + {#}])/',
'/(?[ ( ) ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ ( ){#} ])/',
'm/[\o{789}]/' => 'Non-octal character \'8\'. Resolved as "\o{7}"',
=> 'Non-octal character {#} m/[\o{78{#}9}]/',
'm/\x{}/' => "",
- => 'Number with no digits {#} m/\x{}{#}/',
+ => 'Empty \x{} {#} m/\x{}{#}/',
'm/[\x{}]/' => "",
- => 'Number with no digits {#} m/[\x{}{#}]/',
+ => 'Empty \x{} {#} m/[\x{}{#}]/',
'm/\x{ABCDEFG}/' => 'Illegal hexadecimal digit \'G\' ignored',
=> 'Non-hex character {#} m/\x{ABCDEFG{#}}/',
'm/[\x{ABCDEFG}]/' => 'Illegal hexadecimal digit \'G\' ignored',