Página 1 de 1

Salió Perl v5.26.0

NotaPublicado: 2017-05-30 18:13 @800
por explorer
Ya tenemos nueva versión de Perl, la v5.26.0.

Perl 5.26.0 representa, aproximadamente, 13 meses de desarrollo desde Perl 5.24.0 y contiene aproximadamente 360 000 líneas modificadas en 2600 archivos por parte de 86 autores.

Las novedades que trae son muchas. Y algunas, muy importantes:
  • "." ya no se incluye en @INC, por razones de seguridad. Este es quizás de los cambios que van a generar más problemas, pues obliga a añadir excepciones en el código si queremos acceder a bibliotecas que estén en el mismo directorio que la aplicación
  • do ahora puede lanzar una advertencia de obsolescencia si se intenta ejecutar un programa en el "."
  • se deben escapar las llaves "{" literales, en las expresiones regulares ("\{" o "[{]") .
Cambios principales:
  • las subrutinas léxicas ya no son experimentales
  • sangrado en los documentos embebidos (!) (mejor sangrado de los textos incluidos)
  • nuevo modificador de expresión regular /xx (permite poner espacios en las clases de caracteres)
  • @{^CAPTURE}, %{^CAPTURE} y %{^CAPTURE_ALL} (exponer las capturas bajo una variable con nombre)
  • declarar una referencia a una variable (my \$a = \$b;, experimental)
  • soporte para Unicode v9.0
  • \p{script} usa la propiedad mejorada Script_Extensions
  • Perl ahora puede hacer cotejo por defecto en las configuraciones regionales de UTF-8 en las plataformas que lo soporten
  • mejor cotejo regional de las cadenas que contengan caracteres NULL
  • subrutinas CORE para las funciones hash y array se pueden llamar vía referencia ( &CORE::keys(\%hash) )
  • nueva función hash para las compilaciones en 64 bits
  • cambio en lo que devuelve scalar(%hash) (ahora devuelve el número de claves utilizadas)
  • eliminado el pragma encoding
  • eliminado POSIX::tmpnam()
  • require ::Foo::Bar es ahora ilegal
  • ya no se permiten nombres de variables con un carácter de control literal