Perl 7 發布

昨晚在雲端的 Perl 和 Raku 會議上, Sawyer X 宣布 將 Perl 的主版本從 5 更改為 7。工作已經在進行中,新版本將在一年內發布。 簡而言之,您不應該期望有很多變化:Perl 7 仍然是具有現代預設設定的 Perl 5.32。 您不再需要明確啟用您已經使用的功能,它們將為您啟用!

會包括什麼?

目前還沒有完整的清單,但肯定是嚴格和警告的! 在第 7 版中,簽名很可能仍處於實驗階段;utf8 也沒有時間包含在內。

什麼會被禁用?

  • 間接方法呼叫:

    {;
    包 foo;

    子新{祝福{}}
    sub bar { print "Hello from bar()!n" x pop }
    }

    # 正常調用
    我的 $foo = Foo->new();
    # 間接調用
    酒吧 $foo 42;

  • 空字(裸字)作為描述符識別碼(標準識別碼(STDIN、STDOUT、STDERR)除外)
  • Perl 4 風格的偽多維哈希。

    # 範例取自 perldoc perlvar
    $foo{$x,$y,$z}
    # 實際上意味著 $foo{join($;, $x, $y, $z)}

  • Perl 4風格的舊原型,現在只需要這樣寫:

    子 foo :prototype($$) ($left, $right) {
    返回$左+$右;
    }

    首先是影響調用編譯的原型,然後是在運行時將參數放置在適當變數中的簽名。

但是,仍然有機會批次退回所有物品:
使用相容::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

添加評論