xsawyerx / module-starter

Module::Starter, a tool to help create solid Perl modules from scratch
Other
41 stars 30 forks source link

Change Default minperl From 5.006 to 5.008. #54

Open jgamble opened 9 years ago

jgamble commented 9 years ago

Change default minperl to '5.008'.

(No diff provided, it's just one change on line 109 in Simple.pm.)

I'm not going to use the age argument, since the difference between 5.6 and 5.8's end-of-life is a mere five years (see http://www.cpan.org/src/README.html.

But setting a higher minimum does prevent some basic problems. I have been seeing more newly-created modules with a 5.6 minimum enter CPAN recently, and at the very least I feel that setting a higher minimum will help reduce Unicode problems and ensure that tainted data is caught (see http://perldoc.perl.org/perl58delta.html).

(For what it's worth, I was going to argue for a minimum of 5.10, where recursive regex's were introduced, but... baby steps.)

Grinnz commented 7 years ago

I feel it should still be the author's choice whether they want to change the minimum perl version for their module. The downside of setting your minperl to 5.8 by default is that you no longer get cpantesters results to check if 5.6 actually works. At this point it is mostly assumed that lots of things do not work on 5.6 regardless of listed minimum, so if someone wants to install things on 5.6 they accept the responsibility of fixing modules, and are probably aware that a minimum perl of 5.6 does not guarantee it will work there.

jgamble commented 7 years ago

It is the author's choice to change the minimum Perl version -- always has been (see the options on module-starter). The proposed change is for the people who have opted out of choosing. There are significant problems in earlier Perls with respect to unicode and security (as noted above), and unless you have a strong reason for using them, you should be using a later version.

There is no downside to not seeing if an earlier version of Perl works if you haven't bothered to set a minimum in the first place.