Včera večer na konferenci Perl a Raku v cloudu, Sawyer X oznámil změna hlavní verze Perlu z 5 na 7. Práce již probíhají, nová verze vyjde do roka. Neměli byste očekávat mnoho změn, zkrátka: Perl 7 je stále stejný Perl 5.32 s moderním výchozím nastavením. Již nemusíte explicitně povolovat funkce, které již používáte, budou vám povoleny!
Co bude zahrnuto?
Úplný seznam zatím neexistuje, ale striktní a varování určitě! V 7. vydání zůstanou signatury s největší pravděpodobností experimentální, utf8 také nebude mít čas na zahrnutí.
Co bude zakázáno?
- Nepřímá volání metody:
{;
balíček foo;sub new { požehnání {} }
sub bar { print "Ahoj z bar()!n" x pop }
}# Normální hovor
my $foo = Foo->new();
# Nepřímé volání
bar $foo 42; - Prázdná slova (holá slova) jako identifikátory deskriptoru (kromě standardních (STDIN, STDOUT, STDERR))
- Pseudomultidimenzionální hash ve stylu Perl 4.
# příklady převzaty z perldoc perlvar
$foo{$x,$y,$z}
# ve skutečnosti znamená $foo{join($;, $x, $y, $z)} - Staré prototypy ve stylu Perl 4. Nyní stačí napsat takto:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Nejprve prototyp, který ovlivňuje kompilaci volání, a poté podpisy, které umístí argumenty do příslušných proměnných za běhu.
Stále však bude možnost vrátit vše hromadně zpět:
použijte compat::perl5;
Nebo jeden po druhém.
Perl 5.32 jde do dlouhodobé podpory po dobu 5 let.
Rozšířené oznámení od Briana D Foye: https://www.perl.com/article/announcing-perl-7/
TL;DR verze od něj: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Zdroj: linux.org.ru