Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Perl 5.24.0.1 disponible et Strawberry Perl 5.24.0.1 en production depuis le 12 Mai 2016

Le , par djibril, Responsable Perl et Outils
Bonjour,

La version stable de Perl 5.24.0 est maintenant disponible :
  • 1.0 - 1987 ;
  • 2.0 - 1989 ;
  • 3.0.4.1 - Novembre 1989 ;
  • 3.0.8.1 - janvier 1990 ;
  • 4.0 - décembre 1991 ;
  • 5.000 - 17 Octobre 1994 ;
  • 5.001 - 13 Mars 1995 ;
  • 5.002 - 29 février 1996 ;
  • 5.002_1 - 25 Mars 1996 ;
  • 5.003 - 25 Juin 1996 ;
  • 5.003_1 - 31 Juillet 1996 ;
  • 5.004 - 15 mai 1997 ;
  • 5.005 - 22 juillet 1998 ;
  • 5.1 ;
  • 5.6 - 22 mars 2002 ;
  • 5.8.0 - Juillet 2002
  • 5.8.8 le 31 janvier 2006
  • 5.10.0 le 18 décembre 2007, 20e anniversaire de Perl 1.000
  • 5.8.9 le 14 décembre 2008
  • 5.10.1 le 23 août 2009
  • 5.12.0 le 12 avril 2010
  • 5.12.1 le 16 mai 2010
  • 5.14 - 14 Mai 2011 ;
  • 5.16 - 20 Mai 2012 ;
  • 5.18 - 18 Mai 2013 ;
  • 5.20 - 27 Mai 2014 ;
  • 5.22.0 - 1 juin 2015 ;
  • 5.24 - 10 Mai 2016.


Sa mise en place a nécessité onze mois de développement depuis Perl 5.22.0. Cette mise à jour contient 360000 lignes de codes modifiées à travers 1800 fichiers pour un travail d'équipe : 77 auteurs.

Pour en savoir plus sur les changements (suppressions, rajouts, modifications), c'est ici.

N'hésitez pas à tester les nouveautés et nous faire part de vos retours.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de djibril djibril - Responsable Perl et Outils https://www.developpez.com
le 12/05/2016 à 23:40
Bonsoir,

Strawberry Perl est disponible en version 5.24.0.1 ce qui vous permet de tester cette nouvelle version sous Windows sur des architectures 32 bits ou 64 bits en mode portable ou non.

Merci de nous faire vos retours.
Avatar de Lolo78 Lolo78 - Rédacteur/Modérateur https://www.developpez.com
le 13/05/2016 à 23:12
Bonsoir,

voici un bref résumé des principales nouveautés:

  • La fonctionnalité de déférencement postfixé est maintenant stable (n'est plus expérimentale);
  • Support à la version Unicode 8.0;
  • La fonctionnalité d'autodéréférencement (autoderef) a été supprimée.
  • Le $_ lexical a disparu.


La fonctionnalité de déréférencement postfixée a été introduite à titre expérimental en version 5.20 (en 2014). Elle permet par exemple d'accéder au contenu d'un tableau depuis une référence sur ce tableau avec la syntaxe suivante:
Code : Sélectionner tout
1
2
 
my @elements = $array_ref->@*;
ou:
Code : Sélectionner tout
1
2
3
4
 
for my $item ($array_ref->@*) { 
    # ... 
}
Dans les deux cas ci-dessus, la notation $array_ref->@* est essentiellement équivalente à la notation circonfixée @{$array_ref}. Dans certains cas, cependant, la notation circonfixée est peu pratique, voire inutilisable. Par exemple, si une fonction renvoie une référence vers un tableau, il est possible d'accéder aux éléments de la façon suivante:
Code : Sélectionner tout
1
2
3
4
5
6
7
 
sub liste_saisons { 
    return [ qw /hiver printemps été automne/ ]; # renvoie une référence 
} 
for my $saison (liste_saisons()->@*) { 
    # ... 
}
L'utilisation de cette fonctionnalité exige l'emploi du pragma:
Code : Sélectionner tout
1
2
 
use feature qw {postderef};
De plus, la fonctionnalité étant jusqu'à présent expérimentale, elle déclenchait un warning avertissant de la nature expérimentale de la syntaxe. Pour empêcher ce warning intempestif, il fallait ajouter le pragma suivant:
Code : Sélectionner tout
1
2
 
no warnings qw{experimental::postderef};
Cette fonctionnalité n'étant plus expérimentale, ce dernier pragma n'est plus nécessaire (mais ne gêne pas pour autant).

La version Unicode 8.0 est sortie en 2015. Elle ajoute plus de 7000 nouveaux caractères au standard Unicode. Pour plus d'information, voir: http://www.unicode.org/versions/Unicode8.0.0/. Perl est depuis longtemps en avance sur la plupart des autres langages de programmation en ce qui concerne la gestion de l'Unicode. La nouvelle version de Perl se conforme à la dernière version du standard Unicode.

La fonctionnalité d'autodérérérencement avait été introduite en Perl 5.14. Elle permettait d'utiliser certaines fonctions de tableaux ou de hachages avec des références sur des tableaux ou des hachages (donc sans procéder à un déréférencement explicite). Par exemple, la fonction keys:
Code : Sélectionner tout
1
2
3
 
my $h_ref = { hiver => 1, printemps => 2, été  => 3, automne => 4}; 
say  $_ for keys $h_ref;
Ce qui imprime:
Code : Sélectionner tout
1
2
3
4
5
 
printemps 
été 
hiver 
automne
Cette fonctionnalité à première vue assez pratique entraînait cependant des comportements incohérents ou déroutants dans certains cas. Elle avait donc été rétrogradée au statut "déprécié" en version 5.20 (en général, une fonctionnalité dépréciée est conservée au moins deux versions de Perl avant d'être complètement supprimée), en même temps qu'était introduite la fonctionnalité de déréférencement postfixée expliquée ci-dessus et introduite notamment pour la remplacer. Maintenant que cette dernière fonctionnalité est déclarée stable, il est plus aisé de supprimer l'autodéférencement.

En Perl 5.24, on écrirait maintenant comme suit le code ci-dessus (non testé):
Code : Sélectionner tout
1
2
3
 
my $h_ref = { hiver => 1, printemps => 2, été  => 3, automne => 4}; 
say  $_ for keys $h_ref->%*;    # ou, comme depuis très longtemps: ... keys %{$h_ref};
Une autre fonctionnalité dépréciée depuis un certain temps et maintenant supprimée est le $_ lexical. Elle entraînait parfois des comportements incohérents (confusion entre le $_ global de paquetage et le $_ lexical). On ne peut désormais plus écrire:
Code : Sélectionner tout
1
2
 
my $_ = "toto";
Avatar de djibril djibril - Responsable Perl et Outils https://www.developpez.com
le 14/05/2016 à 0:04
Merci lolo78 pour toutes ces précisions très claires !
Offres d'emploi IT
Architecte / concepteur électronique numérique H/F
Safran - Ile de France - Éragny (95610)
Ingénieur statisticien H/F
Safran - Ile de France - Moissy-Cramayel (77550)
Responsable de lot vérification et qualification (IVVQ) H/F
Safran - Alsace - MASSY Hussenot

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique Perl : djibril -