A linguagem de programação Perl já está em desenvolvimento contínuo desde seu lançamento inicial em 1987. Cada nova versão adiciona recursos adicionais, correções de bugs e melhorias de desempenho intérprete. Algumas mudanças , porém, significa que os scripts escritos para versões mais antigas podem não funcionar como previsto. No entanto, as correções e mudanças de sintaxe introduzidas na transição do Perl 5.8.8 para a versão 5.10 também traz a linguagem mais próxima para o próximo grande lançamento : Perl 6 . Como Perl anterior Desempenho
libera , versão 5.10 melhora o desempenho e eficiência do interpretador de script da linguagem. Perl embutido quicksort funções de ordenação e reverter tipo já não perca tempo e memória fazer cópias temporárias da matriz para ser classificado. A forma como o interpretador Perl processa expressões regulares foi reformulado , bem como, o aumento da velocidade e eliminando estouros de pilha .
Melhorias Núcleo
binários e bibliotecas Perl são agora relocável . Você pode instalar o Perl em qualquer unidade do sistema em qualquer diretório . Agora você pode criar pacotes que empacotam o aplicativo Perl com uma versão correspondente do intérprete que pode ser instalado em uma unidade em qualquer lugar no sistema de destino .
Variáveis de estado são outro aprimoramento núcleo para Perl. A palavra-chave estado permite variáveis de função de reter seus valores entre chamadas de função , permanecendo invisível fora do escopo da função . O operador Smart Match " ~ ~" permite que você faça comparações de strings, arrays e hashes de maneiras anteriormente possíveis apenas com expressões regulares.
Incompatibilidades
Infelizmente, algumas mudanças em Perl 5.10 compatibilidade ruptura com versões mais antigas. Perl 5.8.8 scripts usando pack () e descompactar () em UTF-8 ou Universal Character Set Formato de Transformação - de 8 bits não irá funcionar corretamente com Perl 5.10 UTF- 8 cordas . As variáveis de expressão regular $ * $ # e foram removidas. O operador " chdir " é agora um bareword Perl que retorna um identificador de arquivo , em vez de um nome de arquivo . Printf () e Sprint () agora dar cumprimento à directiva modo defeituoso .
Você pode experimentar alguns novos recursos de linguagem Perl sem quebrar a compatibilidade com versões mais antigas , usando a nova funcionalidade ou pragma directiva intérprete. O pragma recurso permite que você use o código de escrita que utiliza alguns novos recursos de linguagem , como a palavra function () ou o interruptor de declaração somente se você solicitá-los explicitamente.
Correções
Alguns dos aumentos em Perl 5.10 velocidade e estabilidade são devido a correções de bugs. Vazamentos de memória versão 5.10 correções causadas por threads de processo Perl ea função eval . O gerador de números aleatórios não olha mais para o arquivo " urandom " em implementações do Windows. A função de estudo () para acelerar a expressão regular não executa nenhuma ação em UTF- 8 cordas . O pragma " nenhum aviso " agora funciona corretamente com a opção " -w" , permitindo que você escolha quais os avisos que você deseja desativar .