Egy évvel a Perl 5.28.0 megjelenése után megtörtént a kiadás Perl 5.30.0.
Fontos változások:
- Támogatás hozzáadva a 11-es, 12-es Unicode-verziókhoz és a 12.1-es vázlathoz;
- A "{m, n}" formájú reguláris kifejezés kvantorában megadott felső "n" korlát megduplázódott 65534-re;
- A metakarakterek a Unicode tulajdonságérték specifikációiban részben támogatottak;
- qr'N{name}' támogatása hozzáadva;
- A Perl most már lefordítható úgy, hogy mindig használja a területi szálbiztos műveleteket;
- Korlátozott változó hosszúságú versus reguláris kifejezés mintázat most már kísérletileg támogatott;
- Most egy gyorsabb módszert használnak az UTF-8-ra való konvertáláshoz;
- A török UTF-8 területi beállítások mostantól probléma nélkül támogatottak;
- Eltávolította az opASSIGN makró használatát a kernelből;
Eltávolított funkciók és inkompatibilis módosítások:
- Eltávolított modulok: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- A mintaelválasztóknak most grafémáknak kell lenniük;
- Az elválasztóknak most grafémáknak kell lenniük;
- A nem megtisztított „{” bal zárójel egyes, korábban elavult használata a reguláris kifejezésmintákban mostanra tilos;
- Nullától eltérő érték hozzárendelése a $[-hoz (az első tömbelem indexe) most végzetes;
- Az :utf8 kezelésekor a korábban elavult sysread()/syswrite() most végzetes.
- my() hamis feltételek mellett most le van tiltva;
- Elavult $* (változó, amely lehetővé teszi a többsoros egyeztetést, és eltávolították a Perl v5.10.0-ban) és $# (változó, amelyet a kimeneti számok formázására használnak, és a Perl v5.10-ben eltávolították);
- A dump() minősíthetetlen használata elavult;
- Eltávolított fájl::Glob::glob();
- A pack() többé nem tud érvénytelen UTF-8-at visszaadni;
- Az általános szkriptben lévő bármely számkészlet érvényes egy másik szkript által végrehajtott szkriptben;
- A JSON::PP alapértelmezés szerint tartalmazza az allow_nonref fájlt;
Elavult funkciók:
- Már nem használhat különféle makrókat, amelyek XS-kódban kezelik az UTF-8-at;
Forrás: linux.org.ru