Vakar vakarÄ āPerl un Raku konference mÄkoÅosā Sawyer X paziÅoja par galvenÄs Perl versijas maiÅu no 5 uz 7. Darbi jau rit, jaunÄ versija tiks izlaista gada laikÄ. Lielas pÄrmaiÅas nav gaidÄmas, ja Ä«si sakot: Perl 7 ir tas pats Perl 5.32 ar mÅ«sdienÄ«giem noklusÄjumiem. Jums vairs nav jÄiekļauj funkcijas, kuras jau izmantojat, tÄs aktivizÄs jÅ«su vietÄ!
Ko iekļaus?
Pilna saraksta vÄl nav, bet strict un warnings noteikti! 7. izlaidumÄ paraksti visticamÄk paliks eksperimentÄli, utf8 arÄ« netiks iekļauti.
Kas tiks izslÄgts?
- NepÄrtraukts metožu izsaukums:
{;
package Foo;sub new { bless {} }
sub bar { print "Hello from bar()!n" x pop }
}# ŠŠ¾ŃŠ¼Š°Š»ŃŠ½Ńй Š²Ńзов
my $foo = Foo->new();
# ŠŠµŠæŃŃŠ¼Š¾Š¹ Š²ŃŠ·Š¾Š²
bar $foo 42; - TukÅ”ie vÄrdi (barewords) kÄ identifikatori deskriptoru (izÅemot standarta (STDIN, STDOUT, STDERR))
- Pseudo daudzdimensiju haÅ”i Perl 4 stilÄ.
# ŠæŃŠøŠ¼ŠµŃŃ Š²Š·ŃŃŃ ŠøŠ· perldoc perlvar
$foo{$x,$y,$z}
# на ŃŠ°Š¼Š¾Š¼ Геле Š¾Š·Š½Š°ŃŠ°ŠµŃ $foo{join($;, $x, $y, $z)} - Vecie prototipi Perl 4 stilÄ. Tagad jÄraksta tikai Å”Ädi:
sub foo :prototype($$) ($left, $right) {
return $left + $right;
}Vispirms prototips, kas ietekmÄ izsaukumu kompilÄciju, un tad paraksti, kas novieto argumentus attiecÄ«gajÄs mainÄ«gajÄs izpildes laikÄ.
TomÄr paliks iespÄja visu atgriezt atpakaļ masveidÄ:
use compat::perl5;
Vai pa vienam.
Perl 5.32 pÄriet uz ilgtermiÅa atbalsta režīmu uz piecu gadu laiku.
IzvÄrsts paziÅojums no Braiena D Foj: https://www.perl.com/article/announcing-perl-7/
TL;DR versija no viÅa paÅ”a: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Avots: linux.org.ru
