The use 5.010: works only with version 5.10 of perl and newer, and 5.10 was released in December 2007.
So whoever wants their code to run on older perls doesn't use it, but misses a few features (say, given/when, smart-matching, //= etc. The latter two don't require the 'use 5.010;', but require a 5.10 or newer nonetheless).
I also sometimes omit it because I'm simply not yet used to it, and while my finger type use strict; use warnings; mechanically without thinking, the same doesn't hold true for requiring newer perl versions. | [reply] [d/l] [select] |
I teach Perl, and always ask delegates which version of Perl they are using. About half don't know, about quarter are on 5.8 and the rest are usually 5.005 or 5.6. I have not had a single delegate using 5.10.
Why don't people upgrade? Sometimes they don't know that new releases are out there, most often they don't care.
Upgrading requires testing and parallel running - an expensive process. Will the new version give benefits or savings greater than or equal to the cost?
OK, so use the new release just for new projects. That means maintaining multiple versions of perl, which brings its own possibilities of screw-ups.
I have all the *new* 5.10 features in the course material, and hope people will use it eventually, but I won't be holding my breath. Other languages have similar issues, it will be interesting to see how long it takes for Python 3 to achieve widespread use. | [reply] |
So you can see as a student of Perl (especially a new one) how confused I must be...having never known previous versions of Perl that people are using. x-P
The early bird gets the worm but the second mouse gets the cheese.
pretendeavor
| [reply] |
Because it isn't required. | [reply] |
Where did I originally post this? Because it was an honest mistake...haven't had my coffee yet! :)
The early bird gets the worm but the second mouse gets the cheese.
pretendeavor
| [reply] |