Včera večer na „Perl and Raku Conference in the Cloud“ Sawyer X oznámil zmenu hlavnej verzie Perl z 5 na 7. Práce už prebiehajú, nová verzia vyjde v priebehu roka. Nie je potrebné očakávať veľké množstvo zmien, krátko povedané: Perl 7 je stále ten istý Perl 5.32 s modernými predvoľbami. Už nie je potrebné explicitne pripojovať funkcie, ktoré už používate, tie budú zapnuté za vás!
Čo bude zahrnuté?
Úplný zoznam zatiaľ nie je k dispozícii, ale strict a warnings určite! V 7. vydaní pravdepodobne zostanú signatúry experimentálne, utf8 sa tiež nestihne zapnúť.
Čo bude vypnuté?
- Nepřímé volanie metód:
{;
package Foo;sub new { bless {} }
sub bar { print "Hello from bar()!n" x pop }
}# Нормальный вызов
my $foo = Foo->new();
# Непрямой вызов
bar $foo 42; - Prázdne slová (barewords) ako identifikátory deskriptorov (okrem štandardných (STDIN, STDOUT, STDERR))
- Pseudo viacrozmerné hash v štýle Perl 4.
# примеры взяты из perldoc perlvar
$foo{$x,$y,$z}
# на самом деле означает $foo{join($;, $x, $y, $z)} - Staré prototypy v štýle Perl 4. Teraz je potrebné písať len takto:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Najprv prototyp ovplyvňujúci kompiláciu volaní, a potom signatúry, ktoré umiestňujú argumenty do príslušných premenných počas behu.
Napriek tomu zostane možnosť vrátiť všetko späť hromadne:
use compat::perl5;
Alebo po jednom.
Perl 5.32 prechádza do režimu dlhodobej podpory na obdobie 5 rokov.
Rozšírené oznámenie od Briana D. Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR verzia od neho: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Zdroj: linux.org.ru
