Perl 5.30.0 ist erschienen.


Perl 5.30.0 ist erschienen.

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

Wichtige Änderungen:

  • Unterstützung für Unicode-Versionen 11, 12 und den Entwurf 12.1 hinzugefügt;
  • Die obere Grenze „n“, die in Quantifizierern regulärer Ausdrücke in der Form „{m,n}“ angegeben wird, wurde auf 65534 verdoppelt;
  • Metazeichen in den Spezifikationen der Unicode-Eigenschaftswerte werden jetzt teilweise unterstützt;
  • Unterstützung für qr’N{name}’ hinzugefügt;
  • Jetzt kann Perl so kompiliert werden, dass es immer threadsichere Locale-Operationen verwendet;
  • Eine begrenzte Länge von Variablen im Mustervergleich mit regulären Ausdrücken wird jetzt experimentell unterstützt;
  • Jetzt wird ein schnellerer Ansatz zur Konvertierung in UTF-8 verwendet;
  • Türkische UTF-8-Lokalisierungen werden jetzt problemlos unterstützt;
  • Verwendung des Makros opASSIGN aus dem Kern ausgeschlossen;

Entfernte Funktionen und inkompatible Änderungen:

  • Entfernte Module: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
  • Trenner in Mustern müssen jetzt Grapheme sein;
  • Trenner müssen jetzt Grapheme sein;
  • Einige zuvor veraltete Verwendungen der nicht escapten linken geschweiften Klammer „{“ in regulären Mustern sind jetzt verboten;
  • Das Zuweisen eines von null verschiedenen Wertes an die Variable $[ (Index des ersten Array-Elements) ist jetzt fatal;
  • Die früher veralteten sysread()/syswrite() bei der Verarbeitung :utf8 sind jetzt fatal.
  • my() in falschen Bedingungen ist jetzt verboten;
  • Es wird als veraltet angesehen, $* (Variable wurde zur Aktivierung der Suche nach mehrzeiligen Übereinstimmungen verwendet und wurde in Perl v5.10.0 entfernt) und $# (Variable wurde zur Formatierung ausgegebener Zahlen verwendet und wurde in Perl v5.10. entfernt);
  • Es wird als veraltet angesehen, die nicht qualifizierte Verwendung von dump();
  • File::Glob::glob() entfernt;
  • pack() kann nicht mehr ungültiges UTF-8 zurückgeben;
  • Jede Zeichensatzer in einem allgemeinen Skript ist in einem von einem anderen Skript ausgeführten Skript zulässig;
  • JSON::PP enthält standardmäßig allow_nonref;

Veraltete Funktionen:

  • Es ist jetzt nicht mehr erlaubt, verschiedene Makros, die UTF-8 verarbeiten, im XS-Code zu verwenden;

Quelle: linux.org.ru

60GB SSD 8Gb DDR4