perl5
perl5 copied to clipboard
Fatalization of changing 'use VERSION' while another 'use VERSION' is in scope
Per perldoc perldeprecation, we have three deprecations actually, fatalizations) scheduled for perl-5.44 (May 2026 release). This is one of them.
=head3 Changing C<use VERSION> while another C<use VERSION> is in scope
A C<use VERSION> declaration has many implicit effects on the surrounding
scope, such as L<strict> and L<feature> flags, or importing L<builtin>
functions. Once you have a C<use VERSION> statement in scope, another
C<use VERSION> statement with a different version is now deprecated since
Perl 5.39.8, due to the increasing complexity of swapping from one
prevailing version to another.
Category: "deprecated::subsequent_use_version"
This was originally scheduled for perl-5.46; see 351de214d25. That was subsequently changed to perl-5.44; see 69f23a3b74f. AFAICT we don't yet have anyone working on this, nor have we received a pull request.
Assuming we're going forward with this ... volunteers? @Leont, @ap, @leonerd (PSC) any thoughts?