Tegnap este a ‘Perl and Raku Conference in the Cloud’-on, Sawyer X bejelentette a Perl fő verziójának váltását 5-ről 7-re. A munka már folyamatban van, az új verzió egy éven belül megjelenik. Nagy változásokra nem érdemes számítani, röviden: a Perl 7 az ugyanaz a Perl 5.32, csak modern alapértelmezésekkel. Mostantól nem kell kifejezetten aktiválnod a használatban lévő funkciókat, azokat automatikusan bekapcsolják számodra!
Mit fognak aktiválni?
Teljes lista még nincs, de a strict és a warnings biztosan! A 7. kiadásban a szignatúrák valószínűleg még mindig kísérleti státuszban maradnak, az utf8 bekapcsolására sem lesz idő.
Mi fog letiltva lenni?
- Közvetett metódushívások:
{;
package Foo;sub new { bless {} }
sub bar { print "Hello from bar()!n" x pop }
}# Нормальный вызов
my $foo = Foo->new();
# Непрямой вызов
bar $foo 42; - Üres szavak (barewords) mint azonosítók (kivéve a standardokat (STDIN, STDOUT, STDERR))
- Pseudomultidimenzionális hashek Perl 4 stílusban.
# примеры взяты из perldoc perlvar
$foo{$x,$y,$z}
# на самом деле означает $foo{join($;, $x, $y, $z)} - Régi prototípusok Perl 4 stílusban. Most csak így kell írni:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Először a prototípus hatással van a hívások fordítására, majd a szignatúrák az argumentumokat a megfelelő változókba helyezik a futásidő alatt.
Mindazonáltal lehetőség marad mindent visszaállítani egyszerre:
use compat::perl5;
Vagy egyesével.
A Perl 5.32 hosszú távú támogatási módba lép, amely legalább 5 évig tart.
Bővebb bejelentés Bryan D. Foytól: https://www.perl.com/article/announcing-perl-7/
TL;DR verzió tőle: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Forrás: linux.org.ru
