[Triangulo-pm] corelist
Adriano Ferreira
a.r.ferreira em gmail.com
Quarta Fevereiro 14 02:18:27 PST 2007
Olá, Perlsoal!
Hoje eu vou mencionar um módulo muito útil para quem está
desenvolvendo programas em Perl e quer saber quais os módulos são
disponíveis junto com o interpretador. Os módulos da distribuição
oficial vem aumentando com o tempo à medida que novas versões são
liberadas.
Este módulo é o Module::Corelist. Você encontra a documentação dele no
search.cpan
http://search.cpan.org/dist/Module-CoreList
ou, na sua máquina, se ele tiver sido instalado com
$ perldoc Module::Corelist
O módulo traz junto um utilitário chamado "corelist" que você se usa
diretamente no Shell para perguntar se um módulo faz parte do "core"
(distribuição oficial de Perl) e desde quando:
$ corelist Module::CoreList
Module::CoreList was first released with perl 5.009002
Atenção que isto significa que o Module::CoreList só entrou no core na
versão de desenvolvimento 5.9.2 e a versão de produção é 5.8.8.
Portanto, se você instalar o 5.8.8, você não vai ter instalado o
Module::CoreList. Você precisa de instalá-lo através do utilitário
"cpan" (que deve estar devidamente configurado, e isso a gente deve
ver em outra mensagem se alguém tiver curiosidade e interesse).
$ cpan
cpan> install Module::CoreList
Mas como o Module::CoreList é muito simples, você também pode fazer o
download diretamente do CPAN na URL
http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Module-CoreList-2.09.tar.gz
Descompactá-lo (com tar, winzip ou o quer que você tenha em mãos que
faça isto), e executar o mantra de instalação:
http://search.cpan.org/CPAN/authors/id/R/RG/RGARCIA/Module-CoreList-2.09.tar.gz
$ perl Makefile.PL
$ make
$ make test
$ make install
ou em Windows (ActiveState Perl)
> perl Makefile.PL
> nmake
> nmake test
> nmake install
(Atenção: você precisa ter o nmake instalado. :)
Feito isto, você pode usar o corelist para saber das coisas. Então,
você escreveu seu script utilizando DBI (acesso a bases de dados
relacionais), Template (geração de páginas de HTML e outros), Encode
(manipulação de texto em diferentes codificações como ISO-Latin1 ou
UTF-8) e Time::HiRes (relógio com alta resolução) e quer saber qual
deles é parte do "core" e qual vai precisar ser instalado
separadamente:
$ corelist DBI Template Encode Time::HiRes
DBI was not in CORE (or so I think)
Template was not in CORE (or so I think)
Encode was first released with perl 5.007003
Time::HiRes was first released with perl 5.007003
Ou seja, DBI e Template não estão na distribuição padrão e o Encode e
Time::HiRes estão desde a versão 5.7.3.
Além destas procuras exatas, o "corelist" pode responder sobre módulos
que combinam com determinadas regexes. Por exemplo, quais os módulos
padrões que começam com "File".
$ corelist /^File/
[muitos :)
Módulos cujo nome incluem "time" sem importar-se com maiúsculas ou minúsculas.
$ corelist /time/i
CPAN::FirstTime was first released with perl 5.004
Net::Time was first released with perl 5.007003
Time::HiRes was first released with perl 5.007003
Time::Local was first released with perl 5
Time::gmtime was first released with perl 5.004
Time::localtime was first released with perl 5.004
Time::tm was first released with perl 5.004
Ok. Era esta a mensagem de hoje.
Adriano Ferreira.
Mais detalhes sobre a lista de discussão Triangulo-pm