Излезе Perl 5.30.0


Излезе Perl 5.30.0

Год след последния релиз на Perl 5.28.0, издаден е Perl 5.30.0.

Важни промени:

  • Добавена е поддръжка на Unicode версии 11, 12 и черновата версия 12.1;
  • Горната граница „n“, задавана в квантизатора на регулярното изразяване във формата „{m, n}“, е удвоена на 65534;
  • Метасимволите в спецификациите на стойностите на Unicode вече се поддържат частично;
  • Добавена е поддръжка на qr’N{name}’;
  • Сега можете да компилирате Perl, за да използвате винаги потокобезопасни операции с локал;
  • Ограничената дължина на променливата при сравнение с образец на регулярното изразяване сега се поддържа експериментално;
  • Сега се използва по-бърз метод за конвертиране в UTF-8;
  • Тюркските локали UTF-8 сега се поддържат без проблеми;
  • Изключено е използването на макроса opASSIGN от ядрото;

Функционалност, която е била премахната, и несъвместими промени:

  • Премахнати модули: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
  • Разделителите на шаблони сега трябва да бъдат графеми;
  • Разделителите сега трябва да бъдат графеми;
  • Някои преди това остарели начини за използване на неекранираната лява скоба „{“ в шаблони на регулярни изрази сега са забранени;
  • Задаването на ненулева стойност на променливата $[ (индекс на първия елемент на масива) сега е фатално;
  • Предишно остарелите sysread()/syswrite() при обработка :utf8 сега са фатални.
  • my() в неверни условия сега е забранена;
  • Смята се за остаряла $* (променливата е била използвана за включване на търсене на многострочни съвпадения и е била премахната в Perl v5.10.0) и $# (променливата е била използвана за форматиране на извежданите числа и е била премахната в Perl v5.10.);
  • Смята се за остарял неквалифицираното използване на dump();
  • Премахната е File::Glob::glob();
  • pack() вече не може да връща некоректен UTF-8;
  • Всеки набор от цифри в основния скрипт е допустим в скрипта, изпълняван от друг скрипт;
  • JSON::PP по подразбиране включва allow_nonref;

Остаряла функционалност:

  • Сега не може в кода XS да се използват различни макроси, които обработват UTF-8;

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster