Exactement, l'introduction dit « In this article, we’ll look at some of the new Perl features that you might have missed. » ...mais ne présente pas les nouveautés de la 5.36.0 ni même, des choses intéressantes ajoutées ces dix dernières années :-( En fait le billet présente quelques trucs pour forcer les vielles du vieux à migrer, et ces personnes non seulement n'utilisent pas les nouveautés du langage mais aussi sont enclines à ne pas changer tant que ça marche. Ceci justifie probablement le titre (l'allusion aux papys) et le choix (pauvre je l'accorde) des points mis en avant (et qui ne sont plus vraiment des nouveautés ...bien qu'étant effectivement des fonctionnalités arrivées après la 5.6.0) Vraiment « some features you might have missed » pour les vétérans restés coincés en « 5.6.0, which was current back in the summer of 2000. »
Ainsi, quand il rentre dans le vif du sujet, on voit rapidement qu'il parle surtout de vieux trucs puisque les versions sont précisées.
« Perl 5.10 introduced the say() command which does the same thing but automatically adds a newline character to the output. »
« So for a long time (back to at least Perl 5.6), it has been possible to open filehandles and store them in lexical variables (the type of Perl variable that only exists in a particular block of code and, therefore, the most sensible type of variable to use in most cases). The rule is that if you use a scalar variable that contains no data (is "undefined" in Perl parlance) in place of a filehandle in a call to open(), then the filehandle is stored in that scalar variable. » Ici, pas besoin d'utiliser une version récente mais même avec le vieux pot de 5.6 les pépés semblent ignorer cette bonne pratique. Dommage qu'il ne mentionne pas le use strict et le use warning quelque part.
« Since Perl 5.10, the standard library has included a module called Time::Piece. When you use Time::Piece in your code, it overrides localtime() and replaces it with a function that returns an object that contains details of the current time and date. That object has a strftime() method; » Ah tiens, il te dit qu'il y a de l'objet déjà (et vers la fin parle d'un nouveau framework objet en cours pour une prochaine version.)
Ah si, il y a quand même les signatures qui sont annoncées par « Well, as of version 5.36 (which was released earlier this summer) Perl has that too. » Le meilleur pour la fin on dirait ; en tout cas ça c'est vraiment un truc que ce langage semble être le dernier à implémenter pour le coup.
Le billet reconnait vers la fin : « In this article, I’ve just scratched the surface of the changes that have happened to Perl in the last fifteen years. There are plenty of other improvements to find out about. » Puis, pour avoir les vraies nouveautés qu'il n'a pas présenté, il indique : « Each new version of Perl comes with a "perldelta" manual page which explains the differences from the previous version. So the perldelta that comes with version 5.36 describes everything that has changed since version 5.34 (Perl uses odd version numbers to indicate development versions, so it’s only even numbers that count as production releases). Each version will also include the perldeltas from all of the previous versions (well, back to version 5.4, which was the first version to include this documentation). The latest version is always called just "perldelta" and the older ones are renamed to include the version number. So the document that describes the differences between 5.32 and 5.34 is called "perl5340delta". » J'avais pointé la page Wikipédia Perl 5 version history qui en fait la synthèse.
"It is seldom that liberty of any kind is lost all at once." ― David Hume
[^] # Re: Toujours pas convaincu
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au lien This is not your grandfather’s Perl. Évalué à 4.
Exactement, l'introduction dit « In this article, we’ll look at some of the new Perl features that you might have missed. » ...mais ne présente pas les nouveautés de la 5.36.0 ni même, des choses intéressantes ajoutées ces dix dernières années :-( En fait le billet présente quelques trucs pour forcer les vielles du vieux à migrer, et ces personnes non seulement n'utilisent pas les nouveautés du langage mais aussi sont enclines à ne pas changer tant que ça marche. Ceci justifie probablement le titre (l'allusion aux papys) et le choix (pauvre je l'accorde) des points mis en avant (et qui ne sont plus vraiment des nouveautés ...bien qu'étant effectivement des fonctionnalités arrivées après la 5.6.0) Vraiment « some features you might have missed » pour les vétérans restés coincés en « 5.6.0, which was current back in the summer of 2000. »
Ainsi, quand il rentre dans le vif du sujet, on voit rapidement qu'il parle surtout de vieux trucs puisque les versions sont précisées.
say()command which does the same thing but automatically adds a newline character to the output. »open(), then the filehandle is stored in that scalar variable. » Ici, pas besoin d'utiliser une version récente mais même avec le vieux pot de 5.6 les pépés semblent ignorer cette bonne pratique. Dommage qu'il ne mentionne pas leuse strictet leuse warningquelque part.Time::Piece. When you useTime::Piecein your code, it overrideslocaltime()and replaces it with a function that returns an object that contains details of the current time and date. That object has astrftime()method; » Ah tiens, il te dit qu'il y a de l'objet déjà (et vers la fin parle d'un nouveau framework objet en cours pour une prochaine version.)Le billet reconnait vers la fin : « In this article, I’ve just scratched the surface of the changes that have happened to Perl in the last fifteen years. There are plenty of other improvements to find out about. » Puis, pour avoir les vraies nouveautés qu'il n'a pas présenté, il indique : « Each new version of Perl comes with a "perldelta" manual page which explains the differences from the previous version. So the perldelta that comes with version 5.36 describes everything that has changed since version 5.34 (Perl uses odd version numbers to indicate development versions, so it’s only even numbers that count as production releases). Each version will also include the perldeltas from all of the previous versions (well, back to version 5.4, which was the first version to include this documentation). The latest version is always called just "perldelta" and the older ones are renamed to include the version number. So the document that describes the differences between 5.32 and 5.34 is called "perl5340delta". » J'avais pointé la page Wikipédia Perl 5 version history qui en fait la synthèse.
"It is seldom that liberty of any kind is lost all at once." ― David Hume