[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