On Wed, 8 Mar 2023 13:10:58 +0000
Zefram via perl5-porters <perl5-porters@perl.org> wrote:
> You can have "use v5.40" mean exactly that anyway. There is no need
> to change the meaning of "use v5.16" to achieve that. Sure, by
> changing it you can make the meaning of "use v5.16" easier to
> explain, except no you can't, because that easier explanation only
> applies on Perl 5.40+, so the real explanation of "use v5.16" would
> then start with "it does different things depending on which Perl
> version you're running" and would incorporate the explanation of the
> current meaning. But presumably you don't really need "use v5.16" to
> be easier to explain, because you're not advising people to start new
> programs with that.
>
> I suggest that you start with the new semantics now. "use v5.37.10",
> and the equivalent for any higher accepted version, can set the
> "explicitly-set" stricture bits, making it truly equivalent to a bunch
> of pragmata that include "use strict".
Yes it could well be that the current implementation isn't optimal in
terms of back-compat. If you want to have a go at shuffling the logic
further into a threeway of:
use VERSION < 5.12 -- do nothing
>= 5.12 and < 5.36 -- do the intermediate "implicit"
strict
>= 5.36 -- do equivalent to "use strict"
I'd be happy to review a PR. It could even be slipped into 5.37.10
under the general banner of "back-compat bugfixes", and thus be fine
for a 5.38 release.
--
Paul "LeoNerd" Evans
leonerd@leonerd.org.uk | https://metacpan.org/author/PEVANS
http://www.leonerd.org.uk/ | https://www.tindie.com/stores/leonerd/
Thread Previous
|
Thread Next