Անցած գիշեր Պերլի և Ռակուի համաժողովում ամպի մեջ, Sawyer X-ը հայտարարեց փոխելով Perl-ի հիմնական տարբերակը 5-ից 7-ի։Աշխատանքներն արդեն ընթանում են, նոր տարբերակը կթողարկվի մեկ տարվա ընթացքում։ Դուք չպետք է ակնկալեք շատ փոփոխություններ, մի խոսքով. Perl 7-ը դեռ նույն Perl 5.32-ն է՝ ժամանակակից լռելյայն կարգավորումներով: Այլևս կարիք չկա հստակորեն միացնել այն գործառույթները, որոնք արդեն օգտագործում եք, դրանք միացված կլինեն ձեզ համար:
Ի՞նչ է ներառվելու:
Դեռ ամբողջական ցուցակ չկա, բայց խիստ և զգուշացումներ հաստատ։ 7-րդ թողարկումում ստորագրությունները, ամենայն հավանականությամբ, կմնան փորձնական, utf8-ը նույնպես ժամանակ չի ունենա ներառվելու։
Ի՞նչն է անջատվելու:
- Անուղղակի մեթոդի կանչեր.
{;
փաթեթ Foo;ենթ նոր { օրհնել {} }
ենթագոտ { տպել «Hello from bar()!n» x pop }
}# Սովորական զանգ
իմ $foo = Foo->new();
# Անուղղակի զանգ
բար $foo 42; - Դատարկ բառեր (բաց բառեր) որպես նկարագրիչի նույնացուցիչ (բացառությամբ ստանդարտների (STDIN, STDOUT, STDERR))
- Perl 4 ոճի կեղծ բազմաչափ հեշեր:
# օրինակ վերցված perldoc perlvar-ից
$foo{$x,$y,$z}
# իրականում նշանակում է $foo{join($;, $x, $y, $z)} - Հին նախատիպեր Perl 4 ոճով: Այժմ ձեզ հարկավոր է գրել միայն այսպես.
sub foo :prototype($$) ($ձախ, $աջ) {
վերադարձնել $ձախ + $աջ;
}Նախ նախատիպ, որն ազդում է կանչերի կազմման վրա, այնուհետև ստորագրություններ, որոնք արգումենտները տեղադրում են համապատասխան փոփոխականներում՝ գործարկման ժամանակ:
Այնուամենայնիվ, դեռ հնարավորություն կլինի մեծաքանակ վերադարձնել ամեն ինչ.
օգտագործել compat::perl5;
Կամ մեկ առ մեկ:
Perl 5.32-ն անցնում է երկարաժամկետ աջակցության 5 տարի ժամկետով:
Ընդլայնված հայտարարություն Բրայան Դ Ֆոյից. https://www.perl.com/article/announcing-perl-7/
TL;DR տարբերակը նրանից. http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html
Source: linux.org.ru