Perl 7 anunciado

Anoche en la Conferencia Perl y Raku en la Nube, Sawyer X anunciado cambiando la versión principal de Perl de 5 a 7. El trabajo ya está en marcha, la nueva versión se lanzará dentro de un año. En resumen, no debería esperar muchos cambios: Perl 7 sigue siendo el mismo Perl 5.32 con configuraciones predeterminadas modernas. Ya no necesita habilitar explícitamente las funciones que ya usa, ¡se habilitarán para usted!

¿Qué se incluirá?

Aún no hay una lista completa, ¡pero es estricta y con advertencias! En la séptima versión, las firmas probablemente seguirán siendo experimentales; utf7 tampoco tendrá tiempo de incluirse.

¿Qué quedará deshabilitado?

  • Llamadas a métodos indirectos:

    {;
    paquete Foo;

    sub nuevo {bendice {} }
    subbarra {imprimir "Hola desde la barra()!n" x pop}
    }

    # Llamada normal
    mi $foo = Foo->new();
    # Llamada indirecta
    barra $foo 42;

  • Palabras vacías (palabras desnudas) como identificadores de descriptores (excepto las estándar (STDIN, STDOUT, STDERR))
  • Hashes pseudomultidimensionales estilo Perl 4.

    # ejemplos tomados de perldoc perlvar
    $ foo {$ x, $ y, $ z}
    # en realidad significa $foo{join($;, $x, $y, $z)}

  • Prototipos antiguos en estilo Perl 4. Ahora solo necesitas escribir así:

    sub foo :prototipo($$) ($izquierda, $derecha) {
    return $ izquierda + $ derecha;
    }

    Primero un prototipo que afecta la compilación de llamadas y luego firmas que colocan los argumentos en las variables apropiadas en tiempo de ejecución.

Sin embargo, aún existirá la posibilidad de devolver todo de forma masiva:
utilizar compat::perl5;
O uno a la vez.

Perl 5.32 entra en soporte a largo plazo por un período de 5 años.

Anuncio ampliado de Brian D Foy: https://www.perl.com/article/announcing-perl-7/
TL;DR versión de él: http://blogs.perl.org/users/brian_d_foy/2020/06/the-perl-7-tldr.html

Fuente: linux.org.ru

Añadir un comentario