Perl 7 annonsert

I går kveld på Perl og Raku-konferansen i skyen, Sawyer X annonserte endre hovedversjonen av Perl fra 5 til 7. Arbeidet er allerede i gang, den nye versjonen vil bli utgitt innen et år. Du bør ikke forvente mange endringer, kort sagt: Perl 7 er fortsatt den samme Perl 5.32 med moderne standardinnstillinger. Du trenger ikke lenger eksplisitt aktivere funksjoner du allerede bruker, de vil bli aktivert for deg!

Hva vil bli inkludert?

Det er ingen komplett liste ennå, men streng og advarende! I den 7. utgivelsen vil signaturene mest sannsynlig forbli eksperimentelle; utf8 vil heller ikke ha tid til å bli inkludert.

Hva vil bli deaktivert?

  • Indirekte metode kaller:

    {;
    pakke foo;

    sub new { velsigne {} }
    sub bar { print "Hei fra bar()!n" x pop }
    }

    # Vanlig samtale
    min $foo = Foo->ny();
    # Indirekte samtale
    bar $foo 42;

  • Tomme ord (barewords) som beskrivende identifikatorer (bortsett fra standard (STDIN, STDOUT, STDERR))
  • Perl 4-stil pseudo flerdimensjonale hasher.

    # eksempler hentet fra perldoc perlvar
    $foo{$x,$y,$z}
    # betyr faktisk $foo{join($;, $x, $y, $z)}

  • Gamle prototyper i Perl 4-stil. Nå trenger du bare å skrive slik:

    sub foo :prototype($$) ($left, $right) {
    returner $venstre + $høyre;
    }

    Først en prototype som påvirker kompileringen av samtaler, og deretter signaturer som plasserer argumentene i de riktige variablene ved kjøring.

Det vil imidlertid fortsatt være en mulighet til å returnere alt i bulk:
bruk compat::perl5;
Eller en om gangen.

Perl 5.32 går inn i langsiktig støtte i en periode på 5 år.

Utvidet kunngjøring fra Brian D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR-versjon fra ham: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Kilde: linux.org.ru

Legg til en kommentar