Perl 5.28.0 шығарылғаннан кейін бір жылдан кейін шығарылым болды Perl 5.30.0.
Маңызды өзгерістер:
- Юникодтың 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;
- Үлгі бөлгіштері енді графемалар болуы керек;
- Бөлгіштер енді графемалар болуы керек;
- Қалыпты өрнек үлгілеріндегі "{" шығуы жоқ сол жақ жақшаның кейбір бұрын ескірген пайдалануларына енді тыйым салынған;
- $[ (бірінші жиым элементінің индексі) мәніне нөлден басқа мәнді тағайындау енді өлімге әкеледі;
- :utf8 өңдеу кезінде бұрын ескірген sysread()/syswrite() енді өлімге әкеледі.
- my() қате жағдайларда енді өшірілген;
- Ескірген $* (айнымалы мән көпжолды сәйкестікті қосу үшін пайдаланылады және Perl v5.10.0 нұсқасында жойылды) және $# (айнымалы мән шығыс сандарды пішімдеу үшін пайдаланылады және Perl v5.10 жүйесінде жойылды.);
- dump() функциясын біліктіліксіз пайдалану ескірген;
- Жойылған файл::Glob::glob();
- pack() енді жарамсыз UTF-8 қайтара алмайды;
- Жалпы сценарийдегі кез келген сандар жиыны басқа сценариймен орындалатын сценарийде жарамды;
- JSON::PP әдепкі бойынша allow_nonref қамтиды;
Ескірген функция:
- Енді XS кодында UTF-8 өңдейтін әртүрлі макростарды пайдалана алмайсыз;
Ақпарат көзі: linux.org.ru