昨晚在雲端的 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