Vuosi Perl 5.28.0:n julkaisun jälkeen julkaistiin Perl 5.30.0.
Tärkeitä muutoksia:
- Lisätty tuki Unicode-versioille 11, 12 ja luonnokselle 12.1;
- Muodon "{m, n}" säännöllisen lausekkeen kvantorissa annettu yläraja "n" on kaksinkertaistettu arvoon 65534;
- Unicode-ominaisuusarvomäärittelyjen metamerkkejä tuetaan nyt osittain;
- Lisätty tuki qr'N{name}':lle;
- Perl voidaan nyt kääntää käyttämään aina kielen säikeen turvallisia operaatioita;
- Rajoitettu muuttuva pituus vs. säännöllinen lausekemalli on nyt kokeellisesti tuettu;
- UTF-8:ksi muuntamiseen käytetään nyt nopeampaa menetelmää;
- Turkin UTF-8-kielejä tuetaan nyt ilman ongelmia;
- Poistettu opASSIGN-makron käyttö ytimestä;
Toiminnot, jotka on poistettu ja yhteensopimattomat muutokset:
- Poistetut moduulit: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Kuvion erottimien tulisi nyt olla grafeemoja;
- Erotinten pitäisi nyt olla grafeemoja;
- Jotkut aiemmin vanhentuneet vasemman hakasulkeiden "{" käyttö säännöllisissä lausekemalleissa on nyt kielletty.
- Nollasta poikkeavan arvon antaminen $[:lle (ensimmäisen taulukon elementin indeksi) on nyt kohtalokasta;
- Aikaisemmin vanhentunut sysread()/syswrite() :utf8:n käsittelyssä on nyt kohtalokas.
- my() väärissä olosuhteissa on nyt poistettu käytöstä;
- Käytöstä poistettu $* (muuttuja, jota käytettiin monirivisten täsmäysten mahdollistamiseen ja poistettiin Perl versiosta 5.10.0) ja $# (muuttuja, jota käytetään tulostenumeroiden muotoiluun ja poistettiin Perl v5.10:stä);
- Dump():n pätemätön käyttö on vanhentunut;
- Poistettu tiedosto::Glob::glob();
- pack() ei voi enää palauttaa virheellistä UTF-8:aa;
- Mikä tahansa yleisen skriptin numerosarja on kelvollinen toisen skriptin suorittamassa skriptissä;
- JSON::PP sisältää oletusarvoisesti allow_nonref;
Vanhentunut toiminto:
- Et voi enää käyttää erilaisia makroja, jotka käsittelevät UTF-8:aa XS-koodissa.
Lähde: linux.org.ru