Perl 5.30.0 wurde veröffentlicht


Perl 5.30.0 wurde veröffentlicht

Ein Jahr nach der Veröffentlichung von Perl 5.28.0 fand die Veröffentlichung statt Perl 5.30.0.

Wichtige Änderungen:

  • Die Unterstützung für Unicode-Versionen 11, 12 und die Entwurfsversion 12.1 wurde hinzugefügt;
  • Die obere Grenze „n“, die im Quantifizierer des regulären Ausdrucks in der Form „{m,n}“ festgelegt wird, wurde auf 65534 verdoppelt;
  • Metazeichen in den Spezifikationen der Unicode-Eigenschaftswerte werden jetzt teilweise unterstützt;
  • Unterstützung für qr'N{name}' wurde hinzugefügt;
  • Es ist jetzt möglich, Perl zu kompilieren, um immer thread-sichere Locale-Operationen zu verwenden;
  • Eine experimentelle Unterstützung für die begrenzte Länge von Variablen im Vergleich zu regulären Ausdrucksmustern wurde jetzt implementiert;
  • Ein schnelleres Verfahren zur Konvertierung in UTF-8 wird jetzt verwendet;
  • Türkische UTF-8-Lokalen werden jetzt problemlos unterstützt;
  • Die Verwendung des Macros opASSIGN im Kern wurde ausgeschlossen;

Entfernte Funktionen und inkompatible Änderungen:

  • Die folgenden Module wurden entfernt: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
  • Trennzeichen für Muster müssen jetzt Grapheme sein;
  • Die Trennzeichen müssen jetzt Grapheme sein;
  • Einige zuvor veraltete Möglichkeiten, die nicht maskierte linke geschweifte Klammer „{“ in regulären Ausdrucksmustern zu verwenden, sind jetzt verboten;
  • Die Zuweisung eines Nicht-Null-Wertes an die Variable $[ (der Index des ersten Elements des Arrays) ist jetzt fatal;
  • Früher veraltete sysread()/syswrite() bei der Verarbeitung von :utf8 sind jetzt fatal.
  • my() in falschen Bedingungen ist jetzt verboten;
  • Die Verwendung von $* (Die Variable wurde zum Einschalten der Suche nach mehrzeiligen Übereinstimmungen verwendet und wurde in Perl v5.10.0 entfernt) und $# (Die Variable wurde zur Formatierung ausgegebener Zahlen verwendet und wurde in Perl v5.10. entfernt) gilt als veraltet;
  • Die nicht qualifizierte Verwendung von dump() ist veraltet;
  • File::Glob::glob() wurde entfernt;
  • pack() kann jetzt kein ungültiges UTF-8 mehr zurückgeben;
  • Jede Ziffernreihe in einem allgemeinen Skript ist in einem von einem anderen Skript ausgeführten Skript zulässig;
  • JSON::PP aktiviert standardmäßig allow_nonref;

Veraltete Funktionalität:

  • Verschiedene Makros, die UTF-8 in XS-Code verarbeiten, können jetzt nicht mehr verwendet werden;

Quelle: linux.org.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster