Perl 5.28.0-ի թողարկումից մեկ տարի անց տեղի ունեցավ թողարկումը Perl 5.30.0.
Կարևոր փոփոխություններ.
- Ավելացված է աջակցություն Unicode 11, 12 տարբերակների և 12.1 սևագրի համար;
- «{m, n}» ձևի կանոնավոր արտահայտության քանակականում տրված «n» վերին սահմանը կրկնապատկվել է մինչև 65534;
- Յունիկոդի սեփականության արժեքի բնութագրերում մետանիշերն այժմ մասամբ ապահովված են.
- Ավելացված է աջակցություն qr'N{name}';
- Perl-ն այժմ կարող է կազմվել այնպես, որ միշտ օգտագործի տեղային թելերով անվտանգ գործողություններ;
- Սահմանափակ փոփոխական երկարությունը ընդդեմ սովորական արտահայտությունների օրինակի այժմ փորձարարական աջակցվում է.
- Այժմ ավելի արագ մեթոդ է օգտագործվում UTF-8-ի փոխարկելու համար.
- Թյուրքական UTF-8 տեղայնացումներն այժմ ապահովվում են առանց խնդիրների.
- Հեռացրել է opASSIGN մակրոյի օգտագործումը միջուկից;
Ֆունկցիոնալությունը, որը հեռացվել է և անհամատեղելի փոփոխություններ.
- Հեռացված մոդուլներ՝ Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Նախշերի բաժանիչները այժմ պետք է լինեն գրաֆեմաներ.
- Այժմ բաժանարարները պետք է լինեն գրաֆեմներ.
- «{» չփախված ձախ փակագծի որոշ նախկինում հնացած կիրառումներ սովորական արտահայտությունների օրինաչափություններում այժմ արգելված են.
- $[-ին (առաջին զանգվածի տարրի ինդեքսը) ոչ զրոյական արժեք նշանակելը այժմ ճակատագրական է.
- Նախկինում հնացած sysread()/syswrite() :utf8-ով աշխատելիս այժմ մահացու է:
- my() կեղծ պայմաններում այժմ անջատված է.
- Հնացած է $* (փոփոխական, որն օգտագործվում էր բազմագիծ համընկնումը միացնելու համար և հեռացվեց Perl v5.10.0-ում) և $# (փոփոխական, որն օգտագործվում էր ելքային թվերի ձևաչափման համար և հեռացվել է Perl v5.10-ում)։
- Dump()-ի անորակ օգտագործումը հնացած է.
- Հեռացված ֆայլ::Glob::glob();
- pack()-ն այլևս չի կարող վերադարձնել անվավեր UTF-8;
- Ընդհանուր սկրիպտում թվերի ցանկացած հավաքածու վավեր է մեկ այլ սցենարով կատարված սկրիպտում.
- JSON::PP ներառում է allow_nonref լռելյայն;
Հնացած ֆունկցիոնալություն.
- Դուք այլևս չեք կարող օգտագործել տարբեր մակրոներ, որոնք մշակում են UTF-8-ը XS կոդով;
Source: linux.org.ru