Et år efter udgivelsen af Perl 5.28.0 blev Perl 5.30.0 frigivet Perl 5.30.0.
Vigtige ændringer:
- Tilføjet support for Unicode versioner 11, 12 og en beta-version 12.1;
- Den øverste grænse 'n', angivet i kvantifikatoren for regulære udtryk i formen '{m, n}', er blevet fordoblet til 65534;
- Metategn i specifikationen af Unicode-egenskabs værdier understøttes nu delvist;
- Tilføjet support for qr'N{name}';
- Perl kan nu kompileres til altid at bruge tråd-sikre lokale operationer;
- Begrænset længde af variabler i regulære udtryksmønstre understøttes nu eksperimentelt;
- En hurtigere metode til konvertering til UTF-8 anvendes nu;
- Tyrkiske UTF-8-lokaliteter understøttes nu uden problemer;
- Brugen af opASSIGN-makroen er udelukket fra kernen;
Funktioner, der er fjernet, og inkompatible ændringer:
- Fjernet moduler: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Mønsterseparatører skal nu være grafemer;
- Separatorer skal nu være grafemer;
- Nogle tidligere forældede måder at bruge den ikke-escaperede venstre krølle '{' i regulære udtryk er nu forbudt;
- Tildeling af en ikke-null værdi til variablen $[ (indeks for det første element i arrayet) er nu fatalt;
- Tidligere forældede sysread()/syswrite() ved behandling af :utf8 er nu fatale.
- my() i falske betingelser er nu forbudt;
- Betegnes som forældet $* (variablen blev brugt til at inkludere søgning efter multiline matches og blev fjernet i Perl v5.10.0) og $# (variablen blev brugt til at formatere udskrevne tal og blev fjernet i Perl v5.10.);
- Betegnes som forældet ukvalificeret brug af dump();
- Fjernet File::Glob::glob();
- pack() kan ikke længere returnere ugyldigt UTF-8;
- Enhver numerisk sæt i et generelt script er gyldigt i et script, der kører et andet script;
- JSON::PP inkluderer som standard allow_nonref;
Forældet funktionalitet:
- Nu kan forskellige makroer, der behandler UTF-8, ikke bruges i XS-koden;
Kilde: linux.org.ru

