Linguagem de Programação Perl 5.40 Lançada, Eis as Novidades
A linguagem de programação Perl 5.40 traz uma nova palavra-chave CLASS, tratamento de erros melhorado com try/catch, atributos :reader para variáveis de campo, e muito mais.
O recém-lançado Perl 5.40 traz melhorias no núcleo, atualizações de segurança e alterações na popular linguagem de script, aproveitando as suas robustas funcionalidades da versão anterior 5.38.
Esta atualização introduz novas funcionalidades, otimiza as existentes e corrige vulnerabilidades de segurança significativas. Aqui está uma explicação mais detalhada sobre isso.
Novidades na Linguagem de Programação Perl 5.40
Uma das características mais destacadas no Perl 5.40 é a introdução da palavra-chave __CLASS__. Esta nova adição permite obter nomes de classes de forma mais precisa em contextos baseados em classes, como métodos e inicializadores de campos. Fornece uma referência de classe com conhecimento em tempo de execução, que é particularmente útil durante a execução de construtores, onde “$self” não está acessível.
Além disso, os programadores Perl podem agora utilizar o atributo :reader para variáveis de campo da classe para gerar automaticamente métodos de acesso, simplificando o código e melhorando a legibilidade. A atualização também inclui a permissão de espaços na opção de linha de comando -M, alinhando-a com o comportamento existente da opção -I.
Uma melhoria significativa na sintaxe é observada com a introdução do operador lógico xor ^^, completando o conjunto de operadores lógicos do Perl. Entretanto, funcionalidades como os blocos try/catch e a iteração sobre múltiplos valores com for passaram de experimentais para estáveis, indicando maturidade na sua implementação e fiabilidade.
No lado da segurança, o Perl 5.40 corrige vulnerabilidades notáveis, incluindo a CVE-2023-47038, que trata de um problema de estouro de buffer, e a CVE-2023-47039, que resolve um risco de sequestro binário em sistemas Windows.
Relativamente à incompatibilidade e descontinuações, a atualização introduziu alterações que podem afetar scripts existentes, incluindo ajustes na função reset EXPR, que agora ativa o 'set magic' em escalares, podendo afetar scripts antigos onde não tinha efeito.
Além disso, o Perl continua a eliminar gradualmente funcionalidades e sintaxes que podem levar a ambiguidades ou erros, como resolver palavras simples de classes como manipuladores de ficheiros.
O Perl 5.40 também apresenta atualizações para uma ampla variedade de módulos, desde “Archive::Tar” até “IO::Socket::IP”, juntamente com a inclusão de novos módulos como “Term::Table” e “Test2::Suite” no núcleo do Perl, reduzindo as dependências para testes de módulos no CPAN.
Por fim, a nova versão apresenta melhorias de desempenho, incluindo operações de negação otimizadas e um melhor tratamento das otimizações genéricas TARGMY, que podem acelerar significativamente os tempos de execução para operações específicas.
É aconselhado aos programadores que consultem a documentação do Perl e os recursos da comunidade para uma análise detalhada de todas as alterações e para obter mais informações. Aqui está o anúncio; pode ver as principais diferenças em relação à versão anterior, 5.38, em detalhe aqui.
