Pärast 11 kuu arendustööd uue stabiilse Perl programmikeele versiooni väljalaskmine — . Uue väljaande ettevalmistamisel muudeti umbes 620 tuhande koodi rida, muudatused puudutasid 1300 faili, arenduses osales 58 arendajat.
Haru 5.30 on väljastatud kuus aastat tagasi kehtestatud fikseeritud arendusgraafiku kohaselt, mis näeb ette uute stabiilsete harude väljaandmist kord aastas ja paranduste väljaandeid — iga kolme kuu järel. Umbes kuu aja pärast plaanitakse välja anda esimene parandusversioon Perl 5.30.1, milles parandatakse kõige olulisemad vead, mis avastati Perl 5.30.0 rakendamise käigus. Koos Perl 5.30 väljalaskmisega lõpetatakse haru 5.26 tugi, millele tulevikus võivad ilmuda uuendused ainult kriitiliste turbeprobleemide avastamise korral. Samuti on alustatud katseharu 5.31 arendamise protsessi, mille põhjal moodustatakse mai 2020 stabiliseeritud versioon Perl 5.32.
Peamised :
- Regulaarsetesse väljenditesse on lisatud katse tugi operatsioonidele "» ja «» piiratud juurdepääs varem töödeldud nimetatud mustritele. Mustri määratlemine peab toimuma 255 tähemärgi kaugusel viitamiskohast;
- Suurendatud maksimaalne suuruse määraja („n“) väärtus blokis „{m,n}“ regulaarsete avaldiste puhul 65534-ni;
- Lisatud piiratud maskide määramine konkreetsete sümbolikategooriate jaoks regulaarsetes avaldiste, hõlmates erinevaid Unicode'i kogumeid. Näiteks avaldis „qr! \p{nv= /(?x) \A [0-5] \z / }!“ võimaldab esile tuua kõik Unicode’i sümbolid, mis määratlevad numbreid vahemikus 0 kuni 5, sealhulgas tai või bengali numbrite kirjutamise variandid;
- Regulaarsetes avaldiste on lisatud toetus määratud sümbolitele
ühekordsete tsiteeringute piiratud mustrites (qr’\N{name}’); - Unicode spetsifikatsiooni tugi on uuendatud versioonile . Eksperimentaalse arenduse märgis on eemaldatud , mida kasutatakse C-keeles laienemiste arendamisel;
- Lisatud toega Perl-i koostamine, mis toetab operatsioone lokaalses režiimis, mis võimaldab töötada mitme kiirusrežiimiga (-Accflags=’-DUSE_THREAD_SAFE_LOCALE’). Varem kasutati sellist teostust ainult mitme kiirusvariandi Perl-i koostamisel, kuid nüüd saab seda lubada kõikide koostamiste jaoks;
- Lipufunktsioonide kombinatsioon „-Dv” (laiendatud silumisväljavõte) ja „-Dr” (regulaarsete väljendite silumine) toob nüüd kaasa kõik võimalikud regulaarsete väljendite silumise režiimid;
- Eemaldatud varem vananenud funktsioonid:
- Ridade ja mallide eraldajate märkidena kasutatakse nüüd grafeeme toetatakse teatud vananenud regulaarsete väljendite sümboli „{” kasutamise vorme ilma selle pidamise süsteemita.
- funktsioonide sysread(), syswrite(), recv() ja send() kasutamine „:utf8” töötlejatega.
- Eemaldatud spetsiaalsete muutujate toetamine „$*” ja „$#”.
- Toetamine dump() funktsiooni varjatud kutsumise lõpetamine (nüüd tuleb CORE::dump() selgelt määrata).
- Удалена поддержка спецпеременных «$*» и «$#».
Прекращена поддержка неявного вызова функции dump() (теперь нужно явно указывать CORE::dump()). - File::Glob::glob funktsioon on eemaldatud (kasutada tuleb File::Glob::bsd_glob).
- funktsiooni pack() on lisatud kaitse vigaste Unicode-järjendite tagastamise vastu.
- Toetuse lõpetamine XS-koodi (C-blokid) makrode kasutamiseks, mis teevad UTF-8 operatsioone, on järgmise väljaande tarbeks edasi lükatud.
- Tulemuslikkuse optimeerimised:
- UTF-8 tõlkeoperatsioonide täitmine on kiiruselt paranenud (), näiteks ord(«\x7fff») täitmiseks on nüüd vajalik 12% vähem käske. Samuti on paranenud UTF-8 järjendite kehtivuse kontrollimise operatsioonide tulemuslikkus;
- rekursiivsed kutsed on funktsioonist finalize_op() välja jäetud;
- väiksed optimeerimised on tehtud identsete sümbolite kokkuvoldimise ja regulaarsete väljendite sümbolitüüpide määramise koodis;
- märkijate tüüpide muutmised signeeritudist mittesigneeritudiks (IV muutub UV-ks);
- täisarvude stringiks muutmise algoritmi tõhusust on parendatud, töötledes korraga kahte numbrit asemel ühte;
- parendused on tehtud, analüüsitulemuste põhjal, mille tegi LGTM;
- kood on optimeeritud failides regcomp.c, regcomp.h ja regexec.c;
- Regulaarväljendites on oluliselt kiirendatud ASCII sümbolitega mustrite töötlemine, nagu "qr/[^a]/".
- Taaskäivitati toetust Minix3 platvormile. Tagatud on võimalus koostada Microsoft Visual Studio 2019 (Visual C++ 14.2) kompilaatoriga;
- Uuendatud on baaspaketi moodulite versioonid. Peamistest moodulitest on eemaldatud ja .
Allikas: opennet.ru
