G'day Alexander,
"Having both allows to later change your mind and support older Perl versions ... Removing use v5.36 would implicitly disable strict otherwise."
In the dim, distant past I made a similar comment regarding code I'd posted which included some equivalent redundancy
(although I don't recall details now); on that basis, I've upvoted your post.
However, I changed my thinking on that and, accordingly, would argue against what you have here.
I'll just talk about this generally as a number of related scenarios apply; for example,
removing any use VERSION statement,
changing to various earlier VERSIONs,
changing to a VERSION earlier than 5.12,
and so on.
These comments would also apply, to a certain degree, when starting with a VERSION later than 5.36.
See "perl5360delta: use v5.36"
for the features enabled by that VERSION.
Here's just some of the things you'd have to deal with:
-
strict is enabled for all versions since (and including) 5.12;
so you wouldn't necessarily lose that.
-
warnings was first enabled in 5.36; so you would definitely lose that.
-
signatures were introduced in 5.20, so you might lose that
and need to rewrite "sub find_pm($workDir) {...}" in the code presented
(and potentially rewrite similar code elsewhere).
-
signatures were experimental prior to 5.36.
Local policy may mean not using them or including use experimental signatures (or similar).
-
builtin was introduced in 5.36; so you would definitely lose that
and need to rewrite any code using it.
Having to remember to explicitly "use strict;" may not be necessary and, even it was,
it pales into insignificance against all of the other things you'd have to remember to do.
| [reply] [d/l] [select] |