Noticias Programación

Lanzamiento de Perl 5.34.0 – ¿Qué hay de nuevo?

Veamos la primera versión estable de la versión 34 de Perl 5. Es la culminación de aproximadamente 11 meses de desarrollo y representa 280.000 líneas de cambios en 2.100 archivos de 78 autores.

Lamentablemente, este será el último lanzamiento bajo la supervisión de Sawyer X, ya que renuncia a la posición de Pumpking debido a la intimidación por sugerir que la lengua tiene rastros que deben limpiarse.

Aparte de eso, ¿qué novedades trae este lanzamiento?

En primer lugar, una nueva forma de manejar las excepciones con la construcción try / catch que pone a Perl a la par con muchos otros lenguajes de programación que lo utilizan como su mecanismo predeterminado. Esto significa que ahora, en lugar de la forma clásica de buscar excepciones:

eval {a_function ()}; if ($ @) {warn «Ocurrió un error: [$@] n «;}

Movámonos a:

prueba {a_function (); } catch ($ e) {warn «Ocurrió un error: $ e»; }

Había módulos try / catch de terceros en CPAN, como Syntax :: Keyword :: Try, que extendía Perl con esa funcionalidad, pero ahora parece estar encontrando su camino hacia el núcleo. Sin embargo, la función aún es experimental y debe habilitarse emitiendo:

use la función ‘prueba’;

Los módulos predeterminados utilizados por Perl también se han actualizado a las últimas versiones. Como tal, Archive :: Tar se ha actualizado de la versión 2.36 a 2.38, autodie de la versión 2.32 a 2.34, Data :: Dumper de la versión 2.174 a 2.179 y Encode de la versión 3.06 a 3.08, etc.

Es importante tener en cuenta que las versiones del módulo no están relacionadas con la versión de Perl. Por ejemplo, la última versión 2.8 de Archive :: Tar se lanzó el 25/06/2020, mientras que Perl 5.34 llegó el 24 de mayo de 2021; es solo 5.34 se ha actualizado para incorporar las últimas versiones de los módulos, siempre que hayan sido lanzados.

Un par de pequeños ajustes incluyen:

que ahora se acepta un límite inferior vacío para cuantificadores de expresión regular, como {, 3} como en qr / {, n} / que los espacios están permitidos libremente dentro de las llaves, pero adyacentes, algo que significa que x {FFFC} Ahora es legal introducir una nueva sintaxis octal, 0oddddd.

La documentación también se ha actualizado: .perlsyn, perlfaq, perldiag, perldebguts, perlapi y el resto.

También hubo una ruptura de la compatibilidad con versiones anteriores. Es decir, la emulación de matriz multidimensional con hash se ha desactivado de forma predeterminada y, en su lugar, se ha trasladado a una función. Como tal, debe llamarlo explícitamente con la función de uso «multidimensional»

Lo mismo ocurre con la habilitación de identificadores de archivos de palabras sin formato. Ahora se eliminan del valor predeterminado y, en su lugar, se habilitan emitiendo la función de uso ‘bareword_filehandles’.

Aparte de eso, el equipo ha sido frugal con el desglose de compatibilidad con versiones anteriores. A pesar de los casos anteriores, los pensamientos de cambios más invasivos, como permitir un uso estricto de forma predeterminada, se deshicieron rápidamente. Quizás se consideró prudente dejarlos en Perl 7.

Por último, se realizaron las correcciones de errores habituales y los cambios en los diagnósticos y las alertas.

La distribución de Perl se puede descargar de https://metacpan.org/release/XSAWYERX/perl-5.34.0, mientras que un resumen detallado de todos los cambios se puede encontrar en el documento de Perldelta de la versión.

Más información

Distribución de Perl 5.34.0 en metacpan

perldelta

Artículos relacionados

Ahora Perl 6 es Raku, Perl 5 puede ser 7

Publicidad:

También puede gustarte...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *