Анансаваны выхад Perl 7

Учора ўвечары на "Perl and Raku Conference in the Cloud", Sawyer X анансаваў змену асноўнай версіі Perl з 5 на 7. Працы ўжо вядуцца, новая версія выйдзе на працягу года. Вялікай колькасці змен чакаць не варта, калі сцісла: Perl 7 гэта ўсё той жа Perl 5.32 з сучаснымі наладамі па змаўчанні. Вам больш не трэба відавочна падлучаць магчымасці якія вы і так карыстаецеся, іх уключаць для вас!

Што ўключаць?

Поўнага спісу пакуль няма, але strict і warnigs сапраўды! У 7м рэлізе сігнатуры хутчэй за ўсё застануцца эксперыментальнымі, utf8 таксама ўключыць не паспеюць.

Што будзе адключана?

  • Непрамы выклік метадаў:

    {;
    package Foo;

    sub new { bless {} }
    sub bar { print "Hello from bar()!n" x pop }
    }

    # Нармальны выклік
    my $foo = Foo->new();
    # Непрамы выклік
    bar $foo 42;

  • Пустыя словы (barewords) як ідэнтыфікатары дэскрыптараў (за выключэннем стандартных (STDIN, STDOUT, STDERR))
  • Псеўда шматмерныя хэшы ў стылі Perl 4.

    # прыклады ўзятыя з perldoc perlvar
    $foo{$x,$y,$z}
    # на самой справе азначае $foo{join($;, $x, $y, $z)}

  • Старыя прататыпы ў стылі Perl 4. Цяпер трэба пісаць толькі так:

    sub foo :prototype($$) ($left, $right) {
    return $left + $right;
    }

    Спачатку прататып які ўплывае на кампіляцыю выклікаў, а затым сігнатуры якія змяшчаюць аргументы ў адпаведныя зменныя падчас выканання.

Тым не менш, застанецца магчымасць вярнуць усё назад оптам:
use compat::perl5;
Або па-аднаму.

Perl 5.32 пераходзіць у рэжым доўгай падтрымкі на тэрмін ад 5 гадоў.

Разгорнуты анонс ад Браяна Д Фоя: 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

Дадаць каментар