Обявен е Perl 7

Снощи на конференцията Perl и Raku в облака, Сойер X обяви промяна на основната версия на Perl от 5 на 7. Работата вече е в ход, новата версия ще бъде пусната до една година. Не трябва да очаквате много промени, накратко: Perl 7 си остава същият Perl 5.32 с модерни настройки по подразбиране. Вече не е необходимо изрично да включвате функциите, които вече използвате, те ще бъдат активирани за вас!

Какво ще бъде включено?

Все още няма пълен списък, но строг и предупредителен със сигурност! В 7-то издание подписите най-вероятно ще останат експериментални, те също няма да имат време да активират utf8.

Какво ще бъде деактивирано?

  • Непряко извикване на метод:

    {;
    пакет Foo;

    sub new { благослови {} }
    sub bar { print "Hello from bar()!n" x pop }
    }

    # Нормално обаждане
    my $foo = Foo->new();
    # Непряко повикване
    бар $foo 42;

  • Празни думи (голи думи) като идентификатори на дескриптори (с изключение на стандартните (STDIN, STDOUT, STDERR))
  • Псевдо многоизмерни хешове в стила на Perl 4.

    # примера са взети от perldoc perlvar
    $foo{$x,$y,$z}
    # всъщност означава $foo{join($;, $x, $y, $z)}

  • Стари прототипи в стил Perl 4. Сега трябва да пишете само така:

    sub foo :prototype($$) ($left, $right) {
    връщане $наляво + $надясно;
    }

    Първо, прототип, който засяга компилирането на извиквания, и след това подписи, които поставят аргументи в подходящите променливи по време на изпълнение.

Въпреки това все още ще има възможност да върнете всичко обратно в насипно състояние:
използвайте compat::perl5;
Или един по един.

Perl 5.32 преминава към дългосрочна поддръжка за 5 или повече години.

Разширено съобщение от Brian D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR версия от него: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Източник: linux.org.ru

Добавяне на нов коментар