URL: https://linuxfr.org/news/perl-5-38-0-est-sorti Title: Perl 5.38.0 est sorti Authors: Emmanuel Seyman kai, J-Forget, volts, orfenor, Ysabeau đ§¶, BenoĂźt Sibaud et Xavier Teyssier Date: 2023ćčŽ06æ20æ„T00:01:14+02:00 License: CC By-SA Tags: perl et sortie_version Score: 33 Perl est un langage gĂ©nĂ©raliste créé en 1987 par Larry Wall. Il est distribuĂ© sous une double licence : Artistic Licence et GPL v1+. La plupart des modules du CPAN, dĂ©pĂŽt de rĂ©fĂ©rence pour des modules tiers, suivent Ă©galement ce mĂȘme traitement. Perl est inclus dans la quasi-totalitĂ© des distributions GNU/Linux. La toute derniĂšre version de Perl, la 5.38.0, est sortie le 3 juillet 2023. Vous la retrouverez bientĂŽt dans votre distribution prĂ©fĂ©rĂ©e. Tout dâabord un petit lien vers [la dĂ©pĂȘche de lâannĂ©e derniĂšre sur la sortie de Perl 5.36.0](https://linuxfr.org/news/perl-5-36-0-est-sorti) ainsi que vers les dĂ©pĂȘches annonçant les sorties de Perl [5.32.0](https://linuxfr.org/news/sortie-de-perl-5-32-0) et [5.30.0](https://linuxfr.org/news/sortie-de-perl-5-30-0). ---- ---- ---- [Perl (wikipedia)](https://fr.wikipedia.org/wiki/Perl_(langage)) [Annonce de Perl 5.38.0](https://www.nntp.perl.org/group/perl.perl5.porters/2023/07/msg266602.html) [Changelog Perl 5.38.0](https://perldoc.perl.org/perl5380delta) [TODO Changelog commentĂ©](https://rjbs.cloud/blog/2023/06/perl-5.38/) [Site officiel Perl](https://www.perl.org/) ---- Perl est un langage gĂ©nĂ©raliste créé en 1987 par Larry Wall. Il est distribuĂ© sous une double licence : Artistic Licence et GPL v1+. La plupart des modules du CPAN, dĂ©pĂŽt de rĂ©fĂ©rence pour des modules tiers, suivent Ă©galement ce mĂȘme traitement. Perl est inclus dans la quasi-totalitĂ© des distributions GNU/Linux. ## AmĂ©liorations de base Nouvelle fonctionnalitĂ© de classe --------------------------------- Depuis quelque temps, Curtis 'Ovid' Poe propose dâintĂ©grer une couche orientĂ©-objet dans lâinterprĂ©teur Perl lui-mĂȘme. Si Perl a plusieurs (dizaines de) modules qui permettent dâutiliser de lâorientĂ©-objet quâon trouve facilement sur CPAN, ceux-ci sont bridĂ©s par le fait quâils ne peuvent pas modifier la syntaxe du langage. Ajoutons quâil nâest pas toujours facile de choisir parmi les diffĂ©rentes solutions proposĂ©es... Il a donc proposĂ© un nouveau concept, Corinna, qui sera intĂ©grĂ© dans lâinterprĂ©teur Perl en plusieurs Ă©tapes, la premiĂšre ayant Ă©tĂ© intĂ©grĂ©e pendant le cycle de dĂ©veloppement de Perl 5.38. ### Les classes Ainsi, une nouvelle syntaxe est dĂ©sormais disponible pour dĂ©finir des classes dâobjets, oĂč les donnĂ©es par instance sont stockĂ©es dans des variables « champ » qui se comportent comme des lexiques. On peut dĂ©clarer une classe des maniĂšres suivantes : - class NAME BLOCK - class NAME VERSION BLOCK - class NAME; - class NAME VERSION; ### Les champs Le mot clĂ© 'field' permet de dĂ©clarer des variables Ă lâintĂ©rieur dâune classe. Les valeurs de ces variables sont privĂ©es par dĂ©faut, mais on peut crĂ©er une fonction qui les rend accessibles. - field VARIABLE_NAME; - field VARIABLE_NAME = EXPR; - field VARIABLE_NAME : ATTRIBUTES; - field VARIABLE_NAME : ATTRIBUTES = EXPR; ### Les mĂ©thodes Le mot-clĂ© 'method' permet de dĂ©clarer des fonctions (anonymes ou pas) propres Ă une classe. - method METHOD_NAME SIGNATURE BLOCK - method METHOD_NAME BLOCK - method SIGNATURE BLOCK - method BLOCK Comme dit, ceci reste une fonctionnalitĂ© nouvelle et expĂ©rimentale, encore en dĂ©veloppement. Elle fera lâobjet dâajouts, de raffinements et sans doute de modifications. Comme elle est expĂ©rimentale, son utilisation gĂ©nĂšre des avertissements dans la catĂ©gorie experimental::class. Ceux-ci peuvent ĂȘtre rĂ©duits au silence par une dĂ©claration de non-avertissement. Comme toujours, `use v5.38;` active les fonctionnalitĂ©s pour cette version de Perl. use v5.38; sub add ($x, $y) { return $x + $y; } Unicode 15.0 est pris en charge ------------------------------- Chaque version de Perl essaie dâavoir le support de la derniĂšre version dâUnicode connue et Perl 5.38 ne fait pas exception Ă la rĂšgle. La version 15.0 dâUnicode Ă©tant sortie en septembre 2022, câest le support de cette version quâon retrouve dans Perl 5.38. Si les dĂ©veloppeurs de Perl visent la sortie dâune nouvelle version en juin, câest, entre autres raisons, parce que la communautĂ© Perl organise [la confĂ©rence Perl et Raku](https://tprc.us/tprc-2024-las/) (« The Perl and Raku Conference », en vo) au mois de juillet. LâĂ©dition de cette annĂ©e sâest dĂ©roulĂ©e Ă Toronto, au Canada et on a pu y discuter de lâutilisation du langage, des ajouts qui sont prĂ©vus et de lâutilisation de certains modules. On peut retrouver lâensemble des prĂ©sentations donnĂ©es sur [la chaĂźne Youtube de lâĂ©vĂšnement](https://www.youtube.com/@YAPCNA).