Perl 7 annoncé

Hier soir, lors de la conférence Perl et Raku dans le Cloud, Sawyer X annoncé changer la version principale de Perl de 5 à 7. Les travaux sont déjà en cours, la nouvelle version sortira d'ici un an. En bref, il ne faut pas s'attendre à beaucoup de changements : Perl 7 est toujours le même Perl 5.32 avec des paramètres par défaut modernes. Vous n'avez plus besoin d'activer explicitement les fonctionnalités que vous utilisez déjà, elles seront activées pour vous !

Qu'est-ce qui sera inclus ?

Il n’y a pas encore de liste complète, mais stricte et avertissante c’est sûr ! Dans la 7ème version, les signatures resteront très probablement expérimentales ; utf8 n'aura pas non plus le temps d'être inclus.

Qu'est-ce qui sera désactivé ?

  • Appels de méthodes indirects :

    {;
    paquet Foo;

    sous nouveau { bénir {} }
    sub bar { print "Bonjour de bar()!n" x pop }
    }

    # Appel normal
    mon $foo = Foo->new();
    # Appel indirect
    barre $foo 42 ;

  • Mots vides (mots nus) comme identifiants de descripteur (sauf les mots standards (STDIN, STDOUT, STDERR))
  • Hachages pseudo multidimensionnels de style Perl 4.

    # exemples tirés de perldoc perlvar
    $foo{$x,$y,$z}
    # signifie en fait $foo{join($;, $x, $y, $z)}

  • Anciens prototypes dans le style Perl 4. Il ne vous reste plus qu'à écrire comme ceci :

    sub foo :prototype ($$) ($gauche, $droite) {
    renvoie $gauche + $droite ;
    }

    D'abord un prototype qui affecte la compilation des appels, puis des signatures qui placent les arguments dans les variables appropriées au moment de l'exécution.

Cependant, il sera toujours possible de tout restituer en masse :
utilisez compat::perl5;
Ou un à la fois.

Perl 5.32 bénéficie d'un support à long terme pour une période de 5 ans.

Annonce prolongée de Brian D Foy : https://www.perl.com/article/announcing-perl-7/
Version TL;DR de lui : http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Source: linux.org.ru

Ajouter un commentaire