• Publicidad

Perl v5.30, publicado

Novedades y noticias acerca de todo lo relacionado a Perl.

Perl v5.30, publicado

Notapor explorer » 2019-05-22 10:27 @477

Ya tenemos nueva versión de Perl, la v5.30.

Perl 5.30 representa 11 meses de desarrollo desde Perl 5.28.0 y contiene aproximadamente 620 000 líneas modificadas en 1300 archivos por parte de 58 autores.

Las novedades que trae (entre otras):

Cambios principales
  • Soporte experimental de coincidencias previas de tamaño cero con patrones de longitud variable. Ya es posible escribir patrones así: (?<!ba{1,9}r)
  • El límite superior "n" especificado en un cuantificador de expresión regular de la forma "{m,n}" se ha doblado a 65534.
  • Soporte a Unicode 12.1.
  • Soporte parcial para uso de comodines en las especificaciones de valores de propiedades Unicode. r! \p{nv= /(?x) \A [0-5] \z / }! coincide con todos los puntos de código Unicode cuyo valor numérico está entre 0 y 5 inclusives. Así que coincidirá con los dígitos Thai o Bengalí cuyos valores numéricos son 0, 1, 2, 3, 4 o 5.
  • Soporte para qr'\N{nombre}' (evaluar un carácter por medio de \N en una expresión regular entrecomillada simple).
  • Soporte previo para el Turco en UTF-8.
  • Ahora es posible compilar perl para que sea siempre use operaciones de localización seguras multihilo.
Cambios incompatibles
  • Es fatal asignar a un valor no verdadero a $[.
  • Los delimitadores ahora deben ser grafemas.
  • Ahora es ilegal algunos usos obsoletos de la llave de apertura en patrones de expresiones regulares.
  • Ahora es fatal usar sysread()/syswrite() obsoletos sobre identificadores :utf8.
  • Prohibido usar my() en una condición falsa. Ya no es posible escribir my $x if 0
  • Fatal usar $* y $#
  • Fatal usar dump() sin cualificar. Ahora hay que escribirlo así: CORE::dump()
  • Eliminada la función File::Glob::glob(). Usar en su lugar File::Glob::bsd_glob()
  • pack() ya no devuelve una cadena UTF-8 mal formada
  • Cualquier conjunto de dígitos en el conjunto completo de caracteres son legales en la ejecución de otro script. Aparte de los dígitos conocidos ([0-9]) existen muchos otros en el estándar Unicode. Ahora, todos los dígitos en una ejecución deben ser del mismo conjunto de diez dígitos.
  • JSON::PP tiene activa la opción allow_nonref por defecto
Obsolescencias
  • En código XS, el uso de varias macros que gestionan UTF-8.
Mejoras de rendimiento
  • La traducción de UTF-8 al punto de código que representa se realiza ahora por medio de un autómata de estados finito, aumentando la velocidad.
  • Eliminada la recursión de finalize_op().
  • Un puñado de pequeñas optimizaciones relacionadas con el plegado de caracteres y clases de caracteres en expresiones regulares.
  • Optimización de conversiones de IV a UV.
  • Aumento de velocidad de la conversión en texto de un entero procesando dos dígitos cada vez en lugar de uno.
  • Mejoras basadas en análisis y recomendación del LGTM.
  • Optimizaciones de código en regcomp.c, regcomp.h, regexec.c.
  • Coincidencia de patrones en exp. reg. de cosas como qr/[^a]/ ahora es significativamente más rápida, donde a es cualquier carácter ASCII.
Módulos eliminados
  • B::Debug
  • Locale::Codes
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Volver a Noticias de Perl

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados