Ein Jahr nach der Veröffentlichung von Perl 5.28.0 erfolgte die Veröffentlichung Perl 5.30.0.
Wichtige Änderungen:
- Unterstützung für Unicode-Versionen 11, 12 und Draft 12.1 hinzugefügt;
- Die im regulären Ausdrucksquantifizierer der Form „{m, n}“ angegebene Obergrenze „n“ wurde auf 65534 verdoppelt;
- Metazeichen in Unicode-Eigenschaftswertspezifikationen werden jetzt teilweise unterstützt;
- Unterstützung für qr'N{name}' hinzugefügt;
- Perl kann jetzt so kompiliert werden, dass immer threadsichere Locale-Operationen verwendet werden;
- Begrenzte Muster mit variabler Länge im Vergleich zu regulären Ausdrücken werden jetzt experimentell unterstützt;
- Für die Konvertierung in UTF-8 wird jetzt eine schnellere Methode verwendet;
- Türkische UTF-8-Gebietsschemata werden jetzt problemlos unterstützt;
- Die Verwendung des opASSIGN-Makros wurde aus dem Kernel entfernt.
Entfernte Funktionalität und inkompatible Änderungen:
- Entfernte Module: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Mustertrennzeichen sollten jetzt Grapheme sein;
- Trennzeichen sollten jetzt Grapheme sein;
- Einige zuvor veraltete Verwendungen der nicht maskierten linken Klammer „{“ in regulären Ausdrucksmustern sind jetzt verboten;
- Das Zuweisen eines Werts ungleich Null zu $[ (dem Index des ersten Array-Elements) ist jetzt fatal;
- Das zuvor veraltete sysread()/syswrite() bei der Verarbeitung von :utf8 ist jetzt schwerwiegend.
- my() ist unter falschen Bedingungen jetzt deaktiviert;
- Veraltete $* (Variable, die zum Aktivieren des mehrzeiligen Abgleichs verwendet wird und in Perl v5.10.0 entfernt wurde) und $# (Variable, die zum Formatieren von Ausgabezahlen verwendet wird und in Perl v5.10 entfernt wurde.);
- Die unqualifizierte Verwendung von dump() ist veraltet;
- Entfernt File::Glob::glob();
- pack() kann kein ungültiges UTF-8 mehr zurückgeben;
- Jede Zahlenmenge in einem allgemeinen Skript ist in einem Skript gültig, das von einem anderen Skript ausgeführt wird.
- JSON::PP enthält standardmäßigallow_nonref;
Veraltete Funktionalität:
- Sie können verschiedene Makros, die UTF-8 verarbeiten, nicht mehr im XS-Code verwenden;
Source: linux.org.ru