Perl 7 tillkännagav

Igår kväll på Perl och Raku-konferensen i molnet, Sawyer X meddelade ändra huvudversionen av Perl från 5 till 7. Arbetet pågår redan, den nya versionen kommer att släppas inom ett år. Du bör inte förvänta dig många förändringar, kort sagt: Perl 7 är fortfarande samma Perl 5.32 med moderna standardinställningar. Du behöver inte längre uttryckligen aktivera funktioner som du redan använder, de kommer att aktiveras för dig!

Vad kommer att ingå?

Det finns ingen komplett lista ännu, men strikt och varningsfullt! I den 7:e releasen kommer signaturerna med största sannolikhet att förbli experimentella, utf8 kommer inte heller att hinna inkluderas.

Vad kommer att inaktiveras?

  • Indirekta metodanrop:

    {;
    paket foo;

    sub new { välsigna {} }
    sub bar { print "Hej från bar()!n" x pop }
    }

    # Normalt samtal
    min $foo = Foo->ny();
    # Indirekt samtal
    bar $foo 42;

  • Tomma ord (baraord) som deskriptoridentifierare (förutom standardord (STDIN, STDOUT, STDERR))
  • Perl 4 stil pseudo flerdimensionella hash.

    # exempel hämtade från perldoc perlvar
    $foo{$x,$y,$z}
    # betyder faktiskt $foo{join($;, $x, $y, $z)}

  • Gamla prototyper i Perl 4-stil. Nu behöver du bara skriva så här:

    sub foo :prototype($$) ($left, $right) {
    returnera $vänster + $höger;
    }

    Först en prototyp som påverkar kompileringen av anrop, och sedan signaturer som placerar argumenten i lämpliga variabler vid körning.

Det kommer dock fortfarande att finnas en möjlighet att lämna tillbaka allt i bulk:
använd compat::perl5;
Eller en i taget.

Perl 5.32 går till långsiktigt stöd under en period på 5 år.

Utökat meddelande från Brian D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR version från honom: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Källa: linux.org.ru

Lägg en kommentar