Perl 7 aangekondigd

Gisteravond op de Perl en Raku Conferentie in de Cloud, Sawyer X aangekondigd het veranderen van de hoofdversie van Perl van 5 naar 7. Er wordt al aan gewerkt, de nieuwe versie komt binnen een jaar uit. Veel veranderingen moet je niet verwachten, kortom: Perl 7 is nog steeds dezelfde Perl 5.32 met moderne standaardinstellingen. U hoeft de functies die u al gebruikt niet langer expliciet op te nemen, ze worden voor u ingeschakeld!

Wat zal worden opgenomen?

Er is nog geen volledige lijst, maar strikt en waarschuwingen zeker! In de 7e release zullen de handtekeningen hoogstwaarschijnlijk experimenteel blijven, ze zullen ook geen tijd hebben om utf8 in te schakelen.

Wat wordt uitgeschakeld?

  • Indirecte methodeaanroep:

    {;
    pakket Foo;

    sub nieuw { zegen {} }
    sub bar {print "Hallo van bar()!n" x pop}
    }

    # Normaal gesprek
    mijn $foo = Foo->new();
    # Indirecte oproep
    bar $foo 42;

  • Lege woorden (barewords) als descriptor-ID's (behalve standaardwoorden (STDIN, STDOUT, STDERR))
  • Pseudo multidimensionale hashes in de stijl van Perl 4.

    # voorbeelden uit perldoc perlvar
    $foo{$x,$y,$z}
    # betekent eigenlijk $foo{join($;, $x, $y, $z)}

  • Oude prototypes in Perl 4-stijl Nu hoef je alleen maar zo te schrijven:

    sub foo :prototype($$) ($links, $rechts) {
    retourneer $links + $rechts;
    }

    Eerst een prototype dat de compilatie van aanroepen beïnvloedt, en vervolgens handtekeningen die tijdens runtime argumenten in de juiste variabelen plaatsen.

Er is echter nog steeds een mogelijkheid om alles in bulk terug te sturen:
gebruik compat::perl5;
Of één voor één.

Perl 5.32 gaat naar langdurige ondersteuning voor 5 jaar of langer.

Uitgebreide aankondiging van Brian D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR-versie van hem: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Bron: linux.org.ru

Voeg een reactie