my $regex = qr/some: (\S+) pattern/si;
my $data = Encode::decode(utf8 => $file);
do_something($1) if $data =~ $regex; # <- ERROR HAPPENS HERE
This works ok on many files. I can't really control the input. Is there a way to deal with this issue besides
disabling all warnings?
Use of code point 0xFFFFFFFFFFFFFFFF is deprecated; the permissible max is 0x7FFFFFFFFFFFFFFF. This will be fatal in Perl 5.28 at X.pm line 1685 (#2)
(D deprecated) You used a code point that will not be allowed in a
future perl version, because it is too large. Unicode only allows code
points up to 0x10FFFF, but Perl allows much larger ones. However, the
largest possible ones break the perl interpreter in some constructs,
including causing it to hang in a few cases. The known problem areas
are in tr///, regular expression pattern matching using quantifiers,
as quote delimiters in qX...I<X> (where X is the chr() of a large
code point), and as the upper limits in loops.
There may be other breakages as well. If you get this warning, and
things aren't working correctly, you probably have found one of these.
If your code is to run on various platforms, keep in mind that the upper
limit depends on the platform. It is much larger on 64-bit word sizes
than 32-bit ones.
The use of out of range code points was deprecated in Perl 5.24, and
it will be a fatal error in Perl 5.28.