On Sun, 27 Jun 2021 09:55:24 +0000 Nicholas Clark <nick@ccl4.org> wrote: > ## Minimum perl versions (and encouraging adoption of our new > features) > > We discussed how it's frustrating that each year we ship a new > version of Perl, but the take up of the improvements is limited > because folks shipping code to CPAN are reluctant to use them because > they favour supporting the long tail of older versions. At some > level, this conflict of incentives actually makes it arguably > pointless to try to add features/fix the deficiencies of the > language, which isn't what we want. Frustrating, indeed. My personal thoughts on this for my own code are: New modules: perl >= 5.26. That version chosen because it added enough core ops to allow `Object::Pad` to support signatures on methods. Combined with Future::AsyncAwait this combo enables some seriously nice powerful code like has $_read_f; async method read_idx ($idx) { return (await $_read_f //= $self->_read_rgb)[$idx]; } Existing modules: perl >= 5.16, for the most part. A few exceptions exist for really high-river ones (e.g. List::Util, IO::Socket::IP) but for most of these, taking 5.16 onwards means at least basic support of try/catch, async/await, Object::Pad via syntax modules, even though the signatures aren't yet available. I have so far not yet encountered a case where anyone cared about a perl older than 5.16. > ## Footnote - "retroactively disable experimental warnings" ... Yes - I like the sound of this. -- 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