Un ano despois do lanzamento de Perl 5.28.0, produciuse o lanzamento Perl 5.30.0.
Cambios importantes:
- Engadido soporte para Unicode versións 11, 12 e borrador 12.1;
- O límite superior "n" indicado no cuantificador de expresións regulares da forma "{m, n}" duplicouse ata 65534;
- Os metacaracteres nas especificacións de valores de propiedade de Unicode agora son parcialmente compatibles;
- Engadido soporte para qr'N{name}';
- Agora pódese compilar Perl para usar sempre operacións locais seguras para fíos;
- A lonxitude variable limitada fronte ao patrón de expresión regular está agora compatible experimentalmente;
- Agora úsase un método máis rápido para converter a UTF-8;
- Os locais UTF-8 turcos agora son compatibles sen problemas;
- Eliminouse o uso da macro opASSIGN do núcleo;
Funcionalidade que foi eliminada e cambios incompatibles:
- Módulos eliminados: Math::BigInt::CalcEmu, arybase, Locale::Code, B::Debug;
- Os separadores de patróns deberían ser agora grafemas;
- Os separadores deberían ser agora grafemas;
- Algúns usos anteriormente obsoletos do corchete esquerdo "{" sen escape nos patróns de expresións regulares agora están prohibidos;
- Asignar un valor distinto de cero a $[ (o índice do primeiro elemento da matriz) agora é fatal;
- Sysread()/syswrite() antes obsoleto ao manexar :utf8 agora é fatal.
- my() en condicións falsas agora está desactivado;
- Obsoleto $* (variable utilizada para activar a correspondencia multiliña e eliminouse en Perl v5.10.0) e $# (variable utilizada para formatar os números de saída e eliminouse en Perl v5.10.);
- O uso non cualificado de dump() está obsoleto;
- Ficheiro eliminado::Glob::glob();
- pack() xa non pode devolver UTF-8 non válido;
- Calquera conxunto de números nun script xeral é válido nun script executado por outro script;
- JSON::PP inclúe allow_nonref por defecto;
Funcionalidade obsoleta:
- Xa non pode usar varias macros que manexan UTF-8 en código XS;
Fonte: linux.org.ru