Project:Perl/5.26 Known Issues

Introduction
Perl 5.26 brings several incompatible changes, also as a consequence of fixing a security problem (. While we have made sure that all resulting build failures within Gentoo are fixed, this may not be the case for runtime issues, and certainly can affect third-party code (e.g., "hand-installed" server applications).

If you use Gentoo as a production server, this will be a good time to set aside a seperate box for testing the side effects of this release on your platform, and you should assume this release will affect you in some way.

No current directory in library loading path anymore
buildtime and runtime Library path loading changes break many  things, see in detail the separate Project:Perl/Dot-In-INC-Removal page.

Typical error messages are Can't locate inc:: ... in @INC (you may need to install the ... module) Can't locate t:: ... in @INC (you may need to install the ... module) do "foo.pl" failed, '.' is no longer in @INC; did you mean do "./foo.pl"?

Unescaped in Regexp
buildtime and runtime Unescaped left braces  in regular expressions have been deprecated already for some time and now cause compilation to fail.

Typical error messages are: Unescaped left brace in regex is illegal in ...

OP_SIBLING/OP_PARENT internal changes
buildtime Changes in Perl internals breaks code around OP_SIBLING/OP_PARENT (changed in Perl 5.22 via option, default in 5.26).

Typical error messages are: error: ... has no member named ‘op_sibling'

Removal of POSIX::tmpnam
runtime Removal of tmpname from POSIX causes some issues.

Typical error messages are: Unimplemented: POSIX::tmpnam

Encoding support
runtime Lexical encoding support has been removed

Further advice
More information on how to deal with Perl in Gentoo can be found on this wiki's Perl page.