Linguagem de Programação Perl 5.40 Lançada, Veja as Novidades
A linguagem de programação Perl 5.40 traz uma nova palavra-chave CLASS, tratamento de erros aprimorado 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 mudanças na popular linguagem de script, aproveitando os recursos robustos da versão anterior 5.38.
Esta atualização introduz novas funcionalidades, otimiza as existentes e corrige vulnerabilidades de segurança significativas. Aqui está mais sobre isso em detalhes.
O que há de novo na linguagem de programação Perl 5.40
Uma das principais novidades do Perl 5.40 é a introdução da palavra-chave __CLASS__. Essa nova adição permite uma recuperação mais precisa do nome da classe em contextos baseados em classes, como métodos e inicializadores de campos. Ela fornece uma referência de classe consciente do tempo de execução, o que é particularmente útil durante a execução de construtores, onde “$self” não está acessível.
Além disso, programadores Perl agora podem utilizar o atributo :reader para variáveis de campo de 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 seu comportamento ao da opção -I já existente.
Uma melhoria significativa na sintaxe é observada com a introdução do operador lógico xor ^^, completando o conjunto de operadores lógicos do Perl. Enquanto isso, recursos como blocos try/catch e iteração sobre múltiplos valores com for passaram de experimentais para estáveis, indicando maturidade em sua implementação e confiabilidade.
No lado da segurança, o Perl 5.40 corrige vulnerabilidades notáveis, incluindo CVE-2023-47038, que trata de um problema de estouro de buffer, e CVE-2023-47039, que resolve um risco de sequestro binário em sistemas Windows.
Quanto à incompatibilidade e descontinuações, a atualização introduziu mudanças que podem afetar scripts existentes, incluindo ajustes na função reset EXPR, que agora aciona 'set magic' em escalares, podendo afetar scripts antigos onde isso não tinha efeito.
Além disso, o Perl continua a eliminar gradualmente recursos e sintaxes que podem levar a ambiguidades ou erros, como resolver palavras-chave de classe como manipuladores de arquivos.
O Perl 5.40 também recebe atualizações em uma ampla variedade de módulos, de “Archive::Tar” a “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 conta com melhorias de desempenho, incluindo operações de negação otimizadas e um melhor gerenciamento das otimizações genéricas TARGMY, o que pode acelerar significativamente o tempo de execução de operações específicas.
Os desenvolvedores são incentivados a consultar a documentação do Perl e os recursos da comunidade para uma análise detalhada de todas as mudanças e para obter mais informações. Aqui está o anúncio; você pode ver os principais diferenciais em relação à versão anterior, 5.38, em detalhe aqui.
