sysd.org
6jun/112

Perl e módulos na $HOME

Mas, por quê?!

Qual o sentido de alguém instalar os módulos dentro do seu $HOME? Normalmente, uma das duas:

  1. Você não tem permissão suficiente para instalar no próprio sistema (você está mexendo num servidor ou coisa do tipo);
  2. Você está desenvolvendo a bagaça, e quer manter a versão bleeding edge só para você.

Bom, se for o 2-o caso, existe o tal do perlbrew.

Mas eu gosto das instalações locais e as uso desde '97. E o local::lib foi uma mão na roda e tanto! Então, vamos lá:

Passo-a-passo:

Download do local::lib:

curl -LO http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.008004.tar.gz
tar xzf local-lib-1.008004.tar.gz
cd local-lib-1.008004/

Instalação do local::lib:

perl Makefile.PL --bootstrap=$HOME/perl5
make
make test
make install

Ativando local::lib na inicialização da shell (Bash):

cat << PROFILE >> $HOME/.profile

export PERL_MM_USE_DEFAULT=1
eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib)
PROFILE

Agora, é hora de logoff/logon para quem está acostumado com o Windows, ou então:

. $HOME/.profile

Prosseguindo com a configuração/teste do CPAN (essa configuração faz as dependências serem instaladas automaticamente):

cpan

cpan[1]> o conf prerequisites_policy follow
cpan[2]> o conf commit
cpan[3]> install App::cpanminus
cpan[4]> quit

Enumerando os módulos instalados:

perl -MExtUtils::Installed -E 'chdir $ENV{PERL_LOCAL_LIB_ROOT}; my $i = new ExtUtils::Installed; say for $i->modules'

cpanminus permite atualizar todos de uma vez, de uma maneira eficiente:

perl -MExtUtils::Installed -E 'chdir $ENV{PERL_LOCAL_LIB_ROOT}; my $i = new ExtUtils::Installed; say for $i->modules' | cpanm

Referências:

2mai/110

II São Paulo Perl Workshop

Olha, não conheço sequer uma criatura digna de ser chamada Programador Perl que esteja dentro dos padrões daquilo que a sociedade considera "normal".

Se Perl mutila a psique humana ou apenas atrai freaks, jamais saberemos. O fato é: somos "foverer alone" e nos vangloriamos disso :D

Mas, por mais insuportável que será para mim deixar o meu covil, nesse dia 7 de maio ao menos terei uma boa razão para fazê-lo: o II São Paulo Perl Workshop! Esse evento promete, ao menos para mim, muito mais do que o famigerado Google Developer Day, a começar pelo fato de que o local não terá acesso à Internet!!! Ou seja: só vai quem se interessa pelo tema.

E, falando em coisas interessantes, o próprio Larry Wall, o criador do Perl, dará palestra! Se eu tivesse uma cópia de "Deus, um Delírio" [Richard Dawkins] em papel, garanto que pediria um autógrafo na contracapa.

Enfim, esse post não é patrocinado, eu não ganho comissão das inscrições, e, no fundo, quero mais que vocês todos, programadores .NOT, se fsck-odam. Para quem fica, a minha; para quem vai, a do meu pai!

4mar/110

UTF-8: A Missão

Me recuso a entender como ainda existem uébidevélopers que não conseguem decidir se usam codificação ISO-8859-1 ou UTF-8 em suas bagaças, e acabam optando por ambas. Para piorar, os países que tem a capacidade de definir normas consistentes já o fizeram há décadas, e hoje podem sobreviver muito bem sem fugir do ASCII :)

Já quem lê (e escreve) em cirílico ou português, que se vire. Inclusive, quem escreve hoje em dia raramente pensa em quem vai ler. Então, você, que por razões de ofício ou não, precisa processar computacionalmente uma quantidade exorbitante de texto heterogêneo na língua de Camões, está fo-di-do.

Felizmente, pensou "processamento de textos", pensou Perl! Entretanto, por melhor que seja a ferramenta, não resolve o problema sozinha. Então, tentando fazer do mundo um lugar melhor, fiz uma miscelânea da minha experiência de dar cabeçada na parede. Have a phun:

Perl e Unicode (entre outras codificações de texto)

Easy AdSense by Unreal