Eile õhtul "Perli ja Raku konverentsil pilves" Sawyer X teatas Perli põhiversiooni vahetamisest 5-lt 7-le. Tööd on juba käimas, uus versioon ilmub aasta jooksul. Suuri muudatusi oodata pole, kokkuvõttes: Perl 7 on ikkagi Perl 5.32, kuid nüüdsete kaasaegsete vaikeseadistustega. Te ei pea enam eraldi aktiveerima funktsioone, mida te niigi kasutate, need aktiveeritakse teie jaoks!
Mida lisatakse?
Kogu nimekirja pole veel, kuid strict ja warnings kindlasti! 7. versioonis jäävad allkirjad tõenäoliselt eksperimentaalseks, utf8 ei jõuta ka lisada.
Mida eemaldatakse?
- Kaudne meetodite kutsumine:
{;
package Foo;sub new { bless {} }
sub bar { print "Tere bar()-ist!n" x pop }
}# Нормальный вызов
my $foo = Foo->new();
# Непрямой вызов
bar $foo 42; - Tühjad sõnad (barewords) descriptorite identifikaatoritena (välja arvatud standardid (STDIN, STDOUT, STDERR))
- Perl 4 stiilis pseudo-mitmemõõtmelised hash’id.
# примеры взяты из perldoc perlvar
$foo{$x,$y,$z}
# на самом деле означает $foo{join($;, $x, $y, $z)} - Vanad prototüübid Perl 4 stiilis. Nüüd peab kirjutama ainult nii:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Esiteks prototüüp, mis mõjutab kutsumise kompileerimist, ning seejärel allkirjad, mis sisendavad argumendid vastavatesse muutujatesse jooksvalt.
Sellegipoolest jääb võimalus kõik tagasi tuua üldiselt:
use compat::perl5;
Või üksikult.
Perl 5.32 läheb pikaajalise toe režiimi, mis kestab vähemalt 5 aastat.
Ainult Brian D Foy täielik teade: https://www.perl.com/article/announcing-perl-7/
TL;DR versioon temalt: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Allikas: linux.org.ru
