Vydán Perl 5.30.0


Vydán Perl 5.30.0

Rok po vydání Perlu 5.28.0 došlo k vydání Perl 5.30.0.

Důležité změny:

  • Přidána podpora pro Unicode verze 11, 12 a koncept 12.1;
  • Horní mez "n" uvedená v kvantifikátoru regulárního výrazu ve tvaru "{m, n}" byla zdvojnásobena na 65534;
  • Metaznaky ve specifikacích hodnoty vlastností Unicode jsou nyní částečně podporovány;
  • Přidána podpora pro qr'N{jméno}';
  • Perl lze nyní zkompilovat tak, aby vždy používal operace bezpečné pod vlákny národního prostředí;
  • Omezená proměnná délka versus vzor regulárního výrazu je nyní experimentálně podporován;
  • K převodu do UTF-8 se nyní používá rychlejší metoda;
  • Lokality Turkic UTF-8 jsou nyní podporovány bez problémů;
  • Z jádra odstraněno použití makra opASSIGN;

Funkce, která byla odstraněna a nekompatibilní změny:

  • Odebrané moduly: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
  • Oddělovače vzorů by nyní měly být grafémy;
  • Oddělovače by nyní měly být grafémy;
  • Některá dříve zastaralá použití levé závorky „{“ bez escapování ve vzorcích regulárních výrazů jsou nyní zakázána;
  • Přiřazení nenulové hodnoty $[ (index prvního prvku pole) je nyní fatální;
  • Dříve zastaralé sysread()/syswrite() při zpracování :utf8 je nyní fatální.
  • my() ve falešných podmínkách je nyní zakázáno;
  • Zastaralé $* (proměnná používaná k povolení víceřádkového párování a byla odstraněna v Perlu v5.10.0) a $# (proměnná používaná k formátování výstupních čísel a byla odstraněna v Perlu v5.10.);
  • Nekvalifikované použití dump() je zastaralé;
  • Odebraný soubor::Glob::glob();
  • pack() již nemůže vrátit neplatné UTF-8;
  • Jakákoli sada čísel v obecném skriptu je platná ve skriptu prováděném jiným skriptem;
  • JSON::PP ve výchozím nastavení obsahuje allow_nonref;

Zastaralá funkce:

  • V kódu XS již nelze používat různá makra, která zpracovávají UTF-8;

Zdroj: linux.org.ru

Přidat komentář