condensé de perldelta
(66 Ko)
seulement les changements les plus marquants
planification des versions
une version majeure par an (Q2)
des versions mineures tous les 2-3 mois
cycle de dépréciation court
avertissement pendant une ou deux versions majeures
suppression effective à la version majeure suivante
modules retirés envoyés sur le CPAN
5.12.0 le 12 avril 2010
5.14.0 le 14 mai 2011
5.16.0 le 12 mai 2012
5.18.0 le 18 mai 2013
5.20.0 le 16 mai 2014
5.16 n'est plus officiellement supportée
principales nouveautés :
signatures de fonctions
déréférencement postfixé
tranche de hash
5.22.0 le 1er juin 2015
5.18 n'est plus officiellement supportée
principales nouveautés :
opérateurs : bitwise ; double diamant <<>>
regexps : use re "strict"
; nouvelles frontières de mot \b
;
option de non-capture /n
fonctionnalités : refaliasing ; :const
5.24.0 le 9 mai 2016
5.20 n'est plus officiellement supportée
5.24.1 probablement vers septembre 2016
5.24.2 probablement vers mars 2017
peu de nouveautés, des retraits de certaines choses
version de stabilisation
et bien sûr des correctifs et des optimisations
n'est plus une fonctionnalité expérimentale
use feature "postderef"
maintenant sans effet
use v5.24
active postderef_qq
$r = [ 1, [ 2, 3 ], 4 ]; $r->[1]->@*; # équivalent à @{ $r->[1] }
nouvelles frontières de mot \b
(UAX #29: Unicode Text Segmentation)
\b{gcb}
, \b{wb}
et \b{sb}
introduits avec 5.22
\b{lb}
— Line Break, aussi disponible avec Unicode::LineBreak
\b{wb}
— plus proche de ce qui est attendu en Perl
erreurs à l'exécution maintenant détectées à la compilation
propriétés Unicode \p{}
et \P{}
\N{}
maintenant une erreur sous use re "strict"
qr/(?[ ])/
fonctionne maintenant avec les locales UTF-8
Unicode 8.0.0
ajout de 7 716 caractères, dont 6 nouveaux systèmes d'écriture
nombreuses syllabes minuscules Cherokee, appariées avec les caractères existants
5 771 idéographes CJK unifiés
nouveaux symboles emoji pour supporter la diversité dans la couleur de peau
caractères pour des langues africaines (Ik en Ouganda, Kulango en Côte d'Ivoire)
décalages binaires (<<
et >>
) ne dépendent plus de
l'implémentation C du système
printf
et sprintf
supportent des arguments de précision réagençables
sprintf '|%.*2$d|', 2, 3 # "|002|"
plus de champs passés au callback de sigaction
configuré avec SA_SIGINFO
redirection de shebang vers Perl 6
autoderef
a été retiré
push $arrayref, @values;
my $_
a été retiré
introduit dans 5.10 (2007), rendu expérimental dans 5.18 (2013)
caractères ASCII non graphiques interdits dans les noms de variables
déclarations imbriquées interdites
my ($x, my($y)); our (my $x);
\C
retirée
chdir('')
ou chdir(undef)
maintenant sans effet
maddingue@Landroval:/tmp $ perl5.22.0 -E 'chdir(""); say `pwd`' Use of chdir('') or chdir(undef) as chdir() is deprecated at -e line 1. /Users/maddingue maddingue@Landroval:/tmp $ perl5.24.0 -E 'chdir(""); say `pwd`' /tmp
implémentation de la pile de contexte et son API interne
pas de gros changements sur l'API publique
mais assez pour casser certains modules CPAN
Algorithm::Permute
, Coro
, Data::Alias
, RPerl
,
Scope::Upper
, TryCatch
, mod_perl
utilisation de code points au dessus du IV_MAX
de la plate-forme
opérations de bits sur les chaînes avec des code points au dessus de 0xFF
sysread()
, syswrite()
, recv()
et send()
sur des descripteurs
en mode :utf8
entrée et sortie de portée lexicale plus rapides
opérations de casse (ucfirst()
, qr//i
) plus rapides sur les
langages sans casse
/string/
potentiellement beaucoup plus rapide (dépend de memchr()
)
addition, soustraction et multiplication plus rapides
pré-/post- incrément / décrément plus rapides
plates-formes à nouveau fonctionnelles
AmigaOS
nombreux correctifs
Win32, VMS, EBCDIC