Como obter a versão de um módulo Perl instalado?

Já me perguntaram tantas vezes que “Como posso obter a versão do módulo que estou usando?” ou mais geral “Como posso saber se instalei o módulo X :: X?”. Eu sei que é muito fácil obter essas informações de muitos canais e maneiras diferentes.

Minha abordagem geralmente é escrever um código perl de uma linha e obter minha resposta. Digamos que eu queira saber a versão do módulo chamado DateTime . Aqui está o que eu faria:

~$ perl -MDateTime -E "say DateTime->VERSION;"

Vamos explicar um pouco mais sobre esse código de uma linha.

-M usaria o módulo. Portanto, ele responderá se você o instalou.

-E executa o código perl que você passou. Use os recursos 5.10 ou superior.

NOTA : Se você não tiver o perl 5.10 ou superior instalado, você obterá um erro que, nesse caso, altere-o para -e e use imprimir em vez de dizer (digamos que é um novo recurso do perl 5.10 e é como imprimir com ” n” em o fim). Então você teria:

~$ perl -MDateTime -e 'print DateTime->VERSION."n";'

Mas aqui está o problema, contanto que você não use isso ou não precise obter a versão todos os dias, você esqueceria o comando e toda vez que precisar pesquisar na internet ou na sua Bíblia e vai ser chato. O que fiz, escrevi uma função bash e adicionei-a ao meu .bashrc:

perl_mod_version() { perl -M$1 -E 'say '$1'->VERSION;'; }

Tudo que você precisa fazer é adicionar isso ao seu .bashrc e recarregá-lo. Você pode recarregar seu bashrc executando um destes comandos:

~$ . ~/.bashrc

OU

~$ source ~/.bashrc

E agora você pode tentar:

~$ perl_mod_version DateTime 

Diverta-se …