Re: [Rio-pm] [DÚVIDA]Hash: varias key pra um mesmo value

2016-04-13 Por tôpico Stanislaw Pusep
Aureliano, o Perl não é suficientemente inteligente para interpretar
expressão regular como chave do hash :)
Pelo que entendi, vc quer algo assim:

my %codon = (
(map { "CG".$_ => "A" } qw(A C T G)),
(map { "TT".$_ => "F" } qw(C T)),
(map { "TT".$_ => "L" } qw(A G)),
(map { "CU".$_ => "L" } qw(A C T G)),
);

2016-04-13 2:24 GMT+02:00 Aureliano Guedes :

> Ola monges,
>
> Eu tenho uma dúvida, caso possam me ajudar.
> Eu tenho varias códigos que acessam o mesmo valor (no caso que uso são
> vários códons que traduzem o mesmo aminoácido).
>
> Exemplo:
> Aminoacido -> Códons
>
> Sendo os aminoácidos representados por 20 letras diferentes mais o X (stop
> códon).
> E os codons, combinações de 3 nucleotídeos, sendo um total de 4
> nucleotídeos (A, T, C e G),  logo temos 64 combinações de 3 nucleotídeos
> (64 codons possíveis).
> Por isso um mesmo aminoácido pode ser codificado por mais de um códon.
> No caso do aminoácido Alanina (Ala || A) é códificado pelos códons GCA,
> GCC, GCT ou GCU.  Observe que os dois primeiros nucleotídeos são C e G,
> respectivamente, e o terceiro pode ser ocupado por qualquer um dos 4
> nucleotídeo possíveis.
> Dessa forma:
>
>- A -> CGA ou CGC ou CGT ou CGG
>
> Outros:
>
>- F -> TTC || TTT
>- L -> TTA || TTG || CTA || CTG || CTC || CTT
>
>
> Bom, meu objetivo é simplesmente criar um hash, como esse:
>
>- my %aa = ( "UUU" => "F", "UUC" => "F", "UUA" => "L", "UUG" => "L",
>"UCU" => "S", "UCC" => "S", "UCA" => "S", "UCG" => "S", "UAU" => "Y", "UAC"
>=> "Y", "UAA" => "X", "UAG" => "X", "UGU" => "C", "UGC" => "C", "UGA"
>=> "X", "UGG" => "W", "CUU" => "L", "CUC" => "L", "CUA" => "L", "CUG"
>=> "L", "CCU" => "P", "CCC" => "P", "CCA" => "P", "CCG" => "P", "CAU"
>=> "H", "CAC" => "H", "CAA" => "Q", "CAG" => "Q", "CGU" => "R", "CGC"
>=> "R", "CGA" => "R", "CGG" => "R", "AUU" => "I", "AUC" => "I", "AUA"
>=> "I", "AUG" => "M", "ACU" => "T", "ACC" => "T", "ACA" => "T", "ACG"
>=> "T", "AAU" => "N", "AAC" => "N", "AAA" => "K", "AAG" => "K", "AGU"
>=> "S", "AGC" => "S", "AGA" => "R", "AGG" => "R", "GUU" => "V", "GUC"
>=> "V", "GUA" => "V", "GUG" => "V", "GCU" => "A", "GCC" => "A", "GCA"
>=> "A", "GCG" => "A", "GAU" => "D", "GAC" => "D", "GAA" => "E", "GAG"
>=> "E", "GGU" => "G", "GGC" => "G", "GGA" => "G", "GGG" => "G",);
>
>
> Contudo pensei em tomar outra abordagem, informar pra chave quem ela pode
> ser. Não sei se é possível, mas eu comecei tentando algo como:
>
>- my %codon = ( "CG"./[ACTG]/ => "A", "TT"./[CT]/ => "F",
>("TT"./[AG]/||"CU"./[ACTG]/) => "L",);
>
> Mas não funcionou.
>
> Pensei em pegar uma abordagem mais IUPAC, onde:
>
>- Y = C ou T
>- R = A ou G
>- N = A, C, G ou T
>
> *tem outros, mas por enquanto apenas estou vendo a possibilidade.
> Então fiz:
>
>- my $Y = /[CT]/;
>- my $R = /[AG]/;
>- my $N = /[ACTG]/;
>-
>- my %codon = ( "CG".$N => "A", "TT".$Y => "F", ("TT".$R||"CU".$N) =>
>"L",);
>
> Mas não funcionou.
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Número no final do package

2014-05-04 Por tôpico Stanislaw Pusep
(0x2B or not 0x2B)

воскресенье, 4 мая 2014 г. пользователь Adriano Ferreira написал:

>
>
>
> 2014-05-04 12:12 GMT-03:00 breno 
> 
> >:
>
>> Só de curiosidade: http://returnvalues.useperl.at (especificamente,
>> http://returnvalues.useperl.at/values.html)
>>
>> Eu costumo botar "1" em trabalhos profissionais, e "42" em projetos
>> open-source. Em alguns módulos do SDL a gente botou "all your base are
>> belong to us", e o Dancer exporta a DSL "true" e recomenda seu uso nas
>> apps feitas com ele.
>>
>> Qual o seu valor de retorno favorito? :D
>
>
> "0 but true" =)
>
>
>>
>
>
>>
>> []s
>>
>> -b
>>
>> 2014-05-03 18:30 GMT-03:00 Bruno Buss 
>> 
>> >:
>> > Os dois 1os resultados do Google...
>> >
>> >
>> http://stackoverflow.com/questions/5293246/why-the-1-at-the-end-of-each-perl-package
>> >
>> http://stackoverflow.com/questions/3606528/why-do-you-have-to-put-a-1-at-the-end-of-a-perl-5-module
>> >
>> > 2014-05-03 18:03 GMT-03:00 Aureliano Guedes 
>> > 
>> >:
>> >>
>> >> Ola monges,
>> >>
>> >> tenho uma dúvida meio idiota:
>> >> "O que é aquele número no final do módulo??"
>> >>
>> >> exemplo:
>> >>
>> >> package Meu::Modulo;
>> >>
>> >> ...
>> >>
>> >> 1;
>> >>
>> >> No módulo do Garu mesmo:
>> >>
>> >> package Acme::BOPE;
>> >>
>> >> .
>> >>
>> >> 42;
>> >>
>> >> Eu sempre coloquei de forma automática o '1;', mas não faço ideia do
>> que
>> >> é, alguns módulos tem números diferentes.
>> >> Mas o que é esse numero? Pra que serve? Como seu qual número devo
>> colocar?
>> >>
>> >> Abraços,
>> >>
>> >> ___
>> >> Rio-pm mailing list
>> >> Rio-pm@pm.org 
>> >> http://mail.pm.org/mailman/listinfo/rio-pm
>> >
>> >
>> >
>> >
>> > --
>> > Bruno C. Buss
>> > http://www.brunobuss.net
>> >
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org 
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org 
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Array muito longo

2014-04-15 Por tôpico Stanislaw Pusep
Memória RAM é o limite.
Vc pode usar o DBM::Deep, aí o seu storage será o limite. Mas cuidado:
https://metacpan.org/pod/distribution/DBM-Deep/lib/DBM/Deep.pod#Large-Arrays


2014-04-15 18:33 GMT+02:00 Aureliano Guedes :

> Ola, monges.
>
> Gostaria de saber quais opções eu tenho para gravar um numero muito grande
> de informações em um array.
>
> Exemplo, imagine que eu tenha uma rotina tosca como essa:
>
> sub multiplicador{
> my @ini = (100..999);
> my $fim = 999;
> my @memo
> while ($fim != 100){
> foreach (@ini){
> my $m = $_ * $fim;
> push (@memo, $m);
> }
> $fim--;
> }
> }
>
> Essa rotina multiplica 100 * 100 ... 100 * 999, depois 101 * 100 ... 101 *
> 999 ate 999*999.
> Os resultados de cada multiplicação são jogados para um array. Ou seja, um
> array grande pra caramba.
>
> Como faria para que @memo fosse capaz de guardar todos os valores?
>
> Qual é o limite de dados que posso normalmente guardar em um array?
>
> Obrigado,
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Recomendação de modulos para Log

2014-03-05 Por tôpico Stanislaw Pusep
http://mojolicio.us/perldoc/Mojo/Log

среда, 5 марта 2014 г. пользователь Manoel Domingues Junior написал:

> Olá pessoal,
>
> Estou fazendo uns scripts(na verdade é uma API com Mojolicious::Lite) aqui
> e implementei uma função de log usando um conjunto de Net::Syslog com
> Sys::Syslog para fazer o log do script.
>
> https://gist.github.com/mdjunior/9369937
>
> sub log_wrapper {
>
>
> my $log = shift;
>
> my $priority = shift;
>
>
> if ( ! defined $priority ) {
>
>   $priority = 'debug';
>
> }
>
> if ( $ENV{APP_LOG} eq 'LOCAL' ) {
>
> openlog( $ENV{APP_NAME}, 'ndelay,pid', 'LOG_DAEMON' );
>
> syslog( $priority, $log );
>
> closelog();
> } elsif ($ENV{APP_LOG} eq 'NET') {
>
> my $log_net = Net::Syslog->new(
>
> Name => $ENV{APP_NAME},
>
> Facility => 'local7',
>
> Priority => $priority,
>
> SyslogPort => $ENV{APP_SYSLOG_PORT},
>
> SyslogHost => $ENV{APP_SYSLOG_HOST},
>
> );
> $log_net->send($log);
>
> }
> return;
>
> }
>
> Pesquisando na internet vi que muita gente comenta sobre o Log::Log4perl e
> o Log::Any mas não sei bem qual desses (ou outros) é o ideal ou o padrão de
> uso.
>
> No caso, toda a configuração do meu script fica em variáveis de ambiente.
> O script possui uma trilha de auditoria que é feita usando os logs, logo
> ele gera eventos em grande quantidade em diferentes níveis (debug, info e
> error).
>
> Alguma recomendação?
>
> Abraços,
> --
> --
> Manoel Domingues Junior
> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados
> é o primeiro passo para a comunidade."
> IBM - Prodigy Linux
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Curiosidade] Perl no smartphone

2014-03-02 Por tôpico Stanislaw Pusep
Para iOS, temos o PerlMotion: https://github.com/goccy/perl-motion
Não é exatamente Perl, mas permite escrever apps num subset te Perl.
Por outro lado, instalar Perl "normal" num iOS c/jailbreak é dois palito:
http://iphonesdkdev.blogspot.nl/2014/01/how-to-install-perl-theos-and-llvm.html


2014-03-03 7:03 GMT+01:00 Renato Santos :

> Rodar Perl é relativamente simples, difícil é criar uma app.
>
> Dado que o Perl tem poucas dependências, você precisa ter um compilar C no
> smartphone e paciência.
>
> Acho que Tinha um grupo, uns 3 anos atrás, no Android 1.5 (sim, já
> existiu) que rodavam Perl. Mas não sabe mais disso!
> On Mar 3, 2014 12:26 AM, "Aureliano Guedes" 
> wrote:
>
>> Ola monges,
>>
>> So uma curiosidade.
>> Alguem conhece ou ja viu algum metodo, projeto ou mesmo algum grupo que
>> tenha apenas a vontade de rodar perl em smartphone, seja android windows
>> phone ou iOS?
>>
>> T+
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Variavel - caminho padrao para diretorios de testes

2014-02-23 Por tôpico Stanislaw Pusep
Olá Samir!
Não há necessidade de passar o "absolute path", os testes são sempre
executados da raiz da sua distribuição:

my @condor_q =  read_file( 't/input.txt' ) ; # isso é suficiente

Uma nota: os testes em Perl tem extensão padrão .t, portanto, o nome do
arquivo de testes ficaria mais consistente se fosse "01_basic.t".
Abs


2014-02-24 7:58 GMT+01:00 Samir Cury :

> E ai pessoal, faz um tempo que nao passo por aqui, mas felizmente estou
> voltando a usar Perl no cotidiano e me livrando da ferrugem.
>
> Estava revisando um modulo que falta pouco para subir pro CPAN, e me
> deparei com uma coisa que  nao me pareceu o melhor jeito de se fazer :
>
>
> https://github.com/samircury/HTCondor--Queue--Parser/blob/master/t/01_basic.pl#L11
>
> Penso isso pois uma vez enquanto escrevia testes em Python me falaram de
> uma variavel que referenciava o diretorio de testes. Imaginei que pudesse
> existir um equivalente em Perl mas minhas buscas nao retornaram nada
> especifico.
>
> Achei interessante perguntar aqui na lista se conhecem algum jeito melhor.
> De repente esta na ponta da lingua de quem escreve modulos direto. Do jeito
> que esta ja passa no "prove" [1] mas como nao tenho muita pratica com
> modulos e sempre bom perguntar.
>
> Abracos,
> Samir
>
> [1] :
>
>   ~/code/Condor--Queue--Parser $ prove -l t/01_basic.pl
> t/01_basic.pl .. ok
> All tests successful.
> Files=1, Tests=9,  2 wallclock secs ( 0.03 usr  0.00 sys +  1.27 cusr
> 0.03 csys =  1.33 CPU)
> Result: PASS
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Configuração de usuário não root no cpan & Perl Roll em Rocks Cluster

2014-01-30 Por tôpico Stanislaw Pusep
Isso mesmo; na primeira vez em que "perl -Mlocal::lib" roda ele cria os
diretórios necessários. Se salvar as variáveis de ambiente, não precisa
rodar nunca mais.
Entretanto, as variáveis serão diferentes para cada usuário. Para melhorar
a automação, basta colocar no final do /etc/profile (sim, o do sistema):
"eval $(perl -Mlocal::lib)". Desse jeito os usuários automagicamente terão
local::lib configurado ao fazer o login :)


2014-01-30 Nicole Scherer 

> Obrigada, Stanislaw!
>
> Então o usuário só precisará rodar o "perl -Mlocal::lib" uma única vez e
> colocar este output no .bashrc ou .profile, certo? Tendo feito isso, ele
> nunca mais precisará invocar o local::lib, ou terá que fazer isto toda vez
> que for instalar novos pacotes? Com as variáveis de ambiente definidas
> ainda preciso do local::lib?
>
> Abraços,
> Nicole
>
>
>
>
>   Em Quinta-feira, 30 de Janeiro de 2014 11:06, Stanislaw Pusep <
> creakt...@gmail.com> escreveu:
>  Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl
> do seu /opt/perl já tiver local::lib instalado como root, não precisa dessa
> etapa.
> O que acontece se você rodar "perl -Mlocal::lib"?
> Aqui, por exemplo, aparece:
>
> PATH="/Users/stas/perl5/bin${PATH+:}$PATH";
> export PATH;
> PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB";
> export PERL5LIB;
>
> PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT";
> export PERL_LOCAL_LIB_ROOT;
> PERL_MB_OPT="--install_base \"/Users/stas/perl5\"";
> export PERL_MB_OPT;
> PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5";
> export PERL_MM_OPT;
>
> Se você colar o output produzido no seu sistema para o .bashrc/.profile, o
> Perl "se sentirá em casa" no $HOME :)
> O cpanminus é opcional; única coisa absolutamente necessária é que "perl
> -Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as
> variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib"
> diz.
>
>
> 2014-01-30 Nicole Scherer 
>
> Obrigada Stanislaw e Aureliano!
>
> Aureliano, a bioinformática está tomada por mulheres :-) Já foste no
> X-Meeting?
>
> Stanislaw,
>
> como gestora do cluster, meu objetivo é deixar para o usuário o sistema
> pronto para que ele possa instalar seus módulos localmente sem ter que
> fazer acrobacias. Eu já instalei o local::lib no sistema como root, então
> não seria necessário que o usuário instalasse novamente, correto? Ou ele
> precisaria fazer sua própria instalação?
>
> Quando o usuário faz sua primeira incursão no cpan e realiza a
> configuração, aparece a seguinte mensagem:
>
>
> ---
> local::lib is installed. You must now add the following environment
> variables
> to your shell configuration files (or registry, if you are on Windows) and
> then restart your command line shell and CPAN before installing modules:
>
>
> Would you like me to append that to /home/hpcst06/.bashrc now? [yes]
>
>
> ---
>
> Porém, como podes ver, o "following environment variables" está vazio e
> nenhuma modificação é feita no .bashrc
>
> Esta etapa é que deveria definir as tais variáveis de ambiente. Não
> entendo por que não está funcionando.
> Desta forma, a única solução seria mesmo acrescentar estas linhas ao
> .profile a força.
>
> Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan
> e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso
> seja demais, não?
>
> Qual o objetivo de instalar o App::cpanminus?
> A partir daí o usuário deve usar cpanm ao invés de cpan?
>
> Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só
> instalei no frontend), pode dar problema na hora de executar os programas
> em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na
> configuração do ambiente local, não é usado na execução dos módulos, certo?
> O home do usuário é montado em cada nó durante a execução, então o perl vai
> executar com as variáveis de ambiente já definidas pelo usuário, então não
> vai precisar executar o local::lib, certo?
>
>
> Obrigada pela ajuda!
>
>
> Abraços,
> Nicole
>
>
>   Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes <
> guedes_1...@hotmail.com> escreveu:
>   Caraca. Complexo.
> O melhor, foi ver a pela primeira vez uma mulher na bioinformatica.
> Hello colega bioinformata.
>
> 

Re: [Rio-pm] Configuração de usuário não root no cpan & Perl Roll em Rocks Cluster

2014-01-30 Por tôpico Stanislaw Pusep
Olá Nicole! O processo que eu descrevi é o de bootstrapping; se o Perl do
seu /opt/perl já tiver local::lib instalado como root, não precisa dessa
etapa.
O que acontece se você rodar "perl -Mlocal::lib"?
Aqui, por exemplo, aparece:

PATH="/Users/stas/perl5/bin${PATH+:}$PATH";
export PATH;
PERL5LIB="/Users/stas/perl5/lib/perl5${PERL5LIB+:}$PERL5LIB";
export PERL5LIB;
PERL_LOCAL_LIB_ROOT="/Users/stas/perl5${PERL_LOCAL_LIB_ROOT+:}$PERL_LOCAL_LIB_ROOT";
export PERL_LOCAL_LIB_ROOT;
PERL_MB_OPT="--install_base \"/Users/stas/perl5\"";
export PERL_MB_OPT;
PERL_MM_OPT="INSTALL_BASE=/Users/stas/perl5";
export PERL_MM_OPT;

Se você colar o output produzido no seu sistema para o .bashrc/.profile, o
Perl "se sentirá em casa" no $HOME :)
O cpanminus é opcional; única coisa absolutamente necessária é que "perl
-Mlocal::lib" seja rodado para inicializar o $HOME/perl5, e que as
variáveis de ambiente estejam definidas do jeito que o "perl -Mlocal::lib"
diz.


2014-01-30 Nicole Scherer 

> Obrigada Stanislaw e Aureliano!
>
> Aureliano, a bioinformática está tomada por mulheres :-) Já foste no
> X-Meeting?
>
> Stanislaw,
>
> como gestora do cluster, meu objetivo é deixar para o usuário o sistema
> pronto para que ele possa instalar seus módulos localmente sem ter que
> fazer acrobacias. Eu já instalei o local::lib no sistema como root, então
> não seria necessário que o usuário instalasse novamente, correto? Ou ele
> precisaria fazer sua própria instalação?
>
> Quando o usuário faz sua primeira incursão no cpan e realiza a
> configuração, aparece a seguinte mensagem:
>
>
> ---
> local::lib is installed. You must now add the following environment
> variables
> to your shell configuration files (or registry, if you are on Windows) and
> then restart your command line shell and CPAN before installing modules:
>
>
> Would you like me to append that to /home/hpcst06/.bashrc now? [yes]
>
>
> ---
>
> Porém, como podes ver, o "following environment variables" está vazio e
> nenhuma modificação é feita no .bashrc
>
> Esta etapa é que deveria definir as tais variáveis de ambiente. Não
> entendo por que não está funcionando.
> Desta forma, a única solução seria mesmo acrescentar estas linhas ao
> .profile a força.
>
> Uma opção que tenho é criar toda a árvore de diretórios do perl e do cpan
> e colocar no /etc/skel para ser criada junto com o usuário, mas talvez isso
> seja demais, não?
>
> Qual o objetivo de instalar o App::cpanminus?
> A partir daí o usuário deve usar cpanm ao invés de cpan?
>
> Outra dúvida, se eu não instalar o local::lib nos nós do cluster (só
> instalei no frontend), pode dar problema na hora de executar os programas
> em paralelo? Digo, o local::lib só é chamado na instalação de módulos e na
> configuração do ambiente local, não é usado na execução dos módulos, certo?
> O home do usuário é montado em cada nó durante a execução, então o perl vai
> executar com as variáveis de ambiente já definidas pelo usuário, então não
> vai precisar executar o local::lib, certo?
>
>
> Obrigada pela ajuda!
>
>
> Abraços,
> Nicole
>
>
>   Em Quinta-feira, 30 de Janeiro de 2014 8:38, Aureliano Guedes <
> guedes_1...@hotmail.com> escreveu:
>   Caraca. Complexo.
> O melhor, foi ver a pela primeira vez uma mulher na bioinformatica.
> Hello colega bioinformata.
>
> Stanislaw Pusep  escreveu:
>
>   Olá Nicole!
> Já passei por situação semelhante à sua, quando não podia atualizar o Perl
> default do sistema e a opção foi instalar um Perl mais atualizado avulso no
> /usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas:
>
>  1. export PATH=/usr/local/bin:$PATH
>
>  2. Os shebangs de todos os scripts executáveis do projeto foram
> modificados de:
>
>  #!/usr/bin/perl
>
>  para:
>
>  #!/usr/bin/env perl
>
>  3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib
> requer uma intervenção do .profile do sistema, para inicializar o
> environment apropriadamente. Seguem os passos para instalar o local::lib
> dessa forma.
>
>  3.1. Download do local::lib:
>
>  $ wget
> http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.04.tar.gz
> $ tar xzvf local-lib-2.04.tar.gz
> $ cd local-lib-2.04/
>
>  3.2. Instalação do local::lib:
>
>  $ perl Makefile.PL --bootstrap=$HOME/perl5
> $ make
> $ make test
> $ make install
>
>  3.3. Ativando local::lib na inic

Re: [Rio-pm] Configuração de usuário não root no cpan & Perl Roll em Rocks Cluster

2014-01-30 Por tôpico Stanislaw Pusep
Olá Nicole!
Já passei por situação semelhante à sua, quando não podia atualizar o Perl
default do sistema e a opção foi instalar um Perl mais atualizado avulso no
/usr/local. Para sempre usar o Perl do /usr/local, 3 medidas foram tomadas:

1. export PATH=/usr/local/bin:$PATH

2. Os shebangs de todos os scripts executáveis do projeto foram modificados
de:

#!/usr/bin/perl

para:

#!/usr/bin/env perl

3. local::lib foi utilizado para CPAN "desovar" no $HOME. O local::lib
requer uma intervenção do .profile do sistema, para inicializar o
environment apropriadamente. Seguem os passos para instalar o local::lib
dessa forma.

3.1. Download do local::lib:

$ wget
http://cpan.metacpan.org/authors/id/H/HA/HAARG/local-lib-2.04.tar.gz
$ tar xzvf local-lib-2.04.tar.gz
$ cd local-lib-2.04/

3.2. Instalação do local::lib:

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

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

$ cat << PROFILE >> $HOME/.profile
eval \$(perl -I\$HOME/perl5/lib/perl5/ -Mlocal::lib)
PROFILE
$

A idéia aqui é que rodar "perl -I$HOME/perl5/lib/perl5/ -Mlocal::lib"
retorna para STDOUT as tais das variáveis de ambiente que fazem o Perl
buscar instalação dos módulos em um lugar específico ($HOME). Pode
simplesmente colar essas variáveis direto no .profile, ou (como demonstrado
acima) rodar eval do output do Perl.

3.4. Carregar a configuração:

. $HOME/.profile

3.5. Prosseguindo com a configuração/teste do CPAN e do cpanm (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

Boa sorte!


2014-01-29 Nicole Scherer 

>  Boa tarde, queridos Mongers,
>
> eu não queria importuná-los com problemas simples, mas após três dias
> batendo a cabeça e vasculhando fóruns na internet sem solução para algumas
> das perguntas, recorro a vocês. Vou tentar explicar a novela.
>
> Montamos um cluster HPC para pesquisa usando o Rocks 6.1 (
> http://www.rocksclusters.org/) -- um tipo de linux que instala outro
> linux em todos os nós do cluster e gerencia tudo isso. Novidade pra mim,
> mas funciona. Esse Rocks instala os chamados Rolls, entre eles o próprio SO
> (neste caso o RHEL6) e outros Rolls úteis, como SGE, Ganglia, Web-Server,
> Bio, Perl (4.14.2) entre outros. Estes Rolls são instalados em /opt/ e as
> vezes coexistem com os binários do SO. Desta forma, tenho duas versões de
> Perl:
>
> - a do sistema (RHEL6):
> $ /usr/bin/perl -v
> This is perl, v5.10.1 (*) built for x86_64-linux-thread-multi
>
> - e a do Rocks:
> $ /opt/perl/bin/perl -v
> This is perl 5, version 14, subversion 2 (v5.14.2) built for
> x86_64-linux-thread-multi
>
> Cada qual com as suas bibliotecas.
>
>   @INC:
> /usr/local/lib64/perl5
> /usr/local/share/perl5
> /usr/lib64/perl5/vendor_perl
> /usr/share/perl5/vendor_perl
> /usr/lib64/perl5
> /usr/share/perl5
> .
>   @INC:
> /opt/perl/lib/site_perl/5.14.2/x86_64-linux-thread-multi
> /opt/perl/lib/site_perl/5.14.2
> /opt/perl/lib/5.14.2/x86_64-linux-thread-multi
> /opt/perl/lib/5.14.2
> .
>
>
> Agora é que começam meus problemas...
>
> Primeiro: Alguém já teve experiência com duas instalações coexistentes de
> Perl? Posso ter problemas de funcionamento no SO se eu mover  o
> /usr/bin/perl e criar um link do /opt/perl/bin/perl para /usr/bin/perl
> (uma vez que as shebang dos scripts costuma ter este endereço). Colocar
> simplesmente /opt/perl/bin no início do $PATH pode não ser a solução.
>
>
> O CPAN só está instalado na versão do Rocks, o que me motiva mais a
> deixá-lo como default.
> Como a maioria dos usuários não terão privilégios de root e além disso,
> qualquer instalação no sistema operacional tem que ser espelhada para todos
> os nós, a melhor opção para instalar pacotes é na home dos usuários,
> concordam? Então eu quero deixar tudo o mais fácil possível para que os
> usuários instalem os pacotes desejados. Como não teremos acesso direto à
> internet usei o minicpan para criar um mirror em uma pasta compartilhada
> com minha máquina local. Configurei o urllist do cpan pra ela e ficou tudo
> ok.
> Agora esbarrei em um problema que não estou achando resposta fácil.
>
> Quando executo o cpan pela primeira vez como usuário comum, da forma mais
> automática possível, ele cria, como esperado o arquivo MyConfig.pm e toda a
> estrutura de diretórios no home do usuário. Ele executa quase tudo com
> perfeição, substituindo o endereço default pelo do usuário em QUASE todos
> os itens, menos em prefs_dir.
>
> [hpcst06@crab ~]$ grep cpan .cpan/CPAN/MyConfig.pm
>   'build_dir' => q[/home/hpcst06/.cpan/build],
>   'cpan_home' => q[/home/hpcst06/.cpan],
>   'histfile' => q[/home/hpcst06/.cpan/histfile],
>   'keep_source_where' => q[/home/hpcst06/.cpan/sources],
>   'prefs_dir' => q[/export/cpan/cpan/prefs],
>
>
> (O default cpan_home é /export/cpan/cpan )
> [hpcst06@c

Re: [Rio-pm] RPerl - Austin.pm

2013-11-27 Por tôpico Stanislaw Pusep
Não tem, mas Reini Urban estava trabalhando nisso... Mas acho que acabou
virando outra coisa.

четверг, 28 ноября 2013 г. пользователь Tiago Peczenyj писал:

> Aliás, Perl tem JIT optimization?
> Le 27 nov. 2013 22:43, "Tiago Peczenyj" 
>  'tiago.pecze...@gmail.com');>>
> a écrit :
>
> Não é impossível, uma vez que você remova algum overhead por exemplo.
> Entretanto vc vai sacrificar alguma coisa. De repente vc vai ter menos
> features. Vai sacrificar backward compatibility ,etc.
>
> Depende do seu gargalo. Se for I/O pode não fazer a menor diferença ser
> 200x mais rápido.
> Le 27 nov. 2013 15:35, "Aureliano Guedes"  a
> écrit :
>
> 200 vezes mais rapido que Puro Perl???
> Parece ilusão
>
> --
> Date: Wed, 27 Nov 2013 05:39:02 -0200
> From: j...@joaocoutinho.com.br
> To: rio-pm@pm.org
> Subject: [Rio-pm] RPerl - Austin.pm
>
> Repassando, da fan page do FB.
> [ ]'s,
> João
>
> -- Forwarded message --
> From: "Will Braswell" 
> Date: Nov 26, 2013 9:50 PM
> Subject: [Rio de Janeiro Perl Mongers] Hello Perl friends, I'm the
> President of...
> To: "Rio de Janeiro Perl Mongers" <20431022...@groups.facebook.com>
>
>   Will Braswell a publié dans Rio de Janeiro Perl 
> Mongers
> [image: Will 
> Braswell]
>  Will
> Braswell
>  26
> novembre 21:50
> Hello Perl friends, I'm the President of 
> http://Austin.pm/,
> we're working to finish RPerl v1.0, will you please consider making a
> pledge to support the project?
> Thanks so much!
>
> 
>
>

-- 
Отправлено с моего iPhone
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] xpath

2013-04-03 Por tôpico Stanislaw Pusep
Matheus, você provavelmente conhece os seletores CSS, esses popularizados
pelo jQuery.
Pois é, não há necessidade de aprender XPath, caso já conheça esses
seletores: https://metacpan.org/module/HTML::Selector::XPath
(seletor CSS pode ser convertido em XPath, porém a recíproca não é válida!)
Aliás, talvez o Web::Query (https://metacpan.org/module/Web::Query) seja
mais familiar/intuitivo para scraping do que Web::Scraper.


ABS()


2013/4/3 Matheus Lucas 

> Ola amigos !
> Esbarrei em um problema com algumas regex aqui em arquivos html e me deram
> a ideia de usar xpath para resolver. Eu nunca trabalhei com xpath e achei
> muitos modulos na cpan.
> Gostaria de saber se alguem ja trabalhou com algum modulo de xpath pra
> perl e gostaria de receber opniões que modulo é interessante, mais rapido
> de aprender e tals ? Ja vi que tem varios, mais ainda não sei qual é o
> melhor para o problema e continuo a estudar. Gradeço se alguem puder me
> orientar nisso.
> Agradeço a todos !
>
> *
> *
> *
> *
> *
> *
> **
> Matheus Lucas
> Tecnologia em Sistemas para Internet
> Viçosa-MG
>
> *"Seja livre, use Linux !"*
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] obtendo dados do HTTP header atraves de proxy

2013-03-08 Por tôpico Stanislaw Pusep
Nicole, você poderia rodar o seguinte comando, e postar o output?

curl -Ivx 10.46.10.19:3129
ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/all_est.txt.gz | awk
'/Content-Length:/ {print $2}'


ABS()


2013/3/8 Nicole Scherer 

> Oi Mongers,
>
> venho humildemente consultar o vasto conhecimento de vocês em prol da
> pesquisa científica.
>
> Preciso consultar o tamanho de um arquivo em um servidor ftp, antes de
> decidir se o arquivo deverá ou não ser baixado.
> Eu estava usando o LWP::Simple::head($url) para isto, e estava funcionando
> bem, até eu ter que usá-lo através de um proxy.
> O que acontece é o seguinte, usando sem proxy, eu consigo acessar as
> informações sobre tamanho, formato, codificação, etc,
>
>
> my $downloadfile = "
> ftp://hgdownload.cse.ucsc.edu/goldenPath/ce4/database/all_est.txt.gz";;
> my ($content_type, $document_length, $modified_time, $expires, $server) =
> LWP::Simple::head($downloadfile);
>
> --- ou
>
> if (my $res = LWP::Simple::head($downloadfile)) {
> print "$downloadfile ok\n"; ### debug
> p($res->{_headers});
> } else {
> print "$downloadfile not available\n"; ### debug
> }
>
>
> --- e quando uso
>
> use LWP::Simple qw($ua head);
> $ua->proxy([qw(http ftp wais)], 'http://10.46.10.19:3129');
>
> para definir o proxy, ele não retorna estas informações.
>
>
> Se eu mandar imprimir $res->{_headers}, tenho isso:
>
> --- rodando sem proxy
>
> HTTP::Headers  {
> public methods (38) : as_string, authorization, authorization_basic,
> clear, client_date, content_encoding, content_is_html, content_is_text,
> content_is_xhtml, content_is_xml, content_language, content_length,
> content_type, content_type_charset, date, expires, from, header,
> header_field_names, if_modified_since, if_unmodified_since, init_header,
> last_modified, new, proxy_authenticate, proxy_authorization,
> proxy_authorization_basic, push_header, referer, referrer,
> remove_content_headers, remove_header, scan, server, title, user_agent,
> warning, www_authenticate
> private methods (5) : _basic_auth, _date_header, _header,
> _process_newline, _sorted_field_names
> internals: {
> client-date =>  "Fri, 08 Mar 2013 19:33:58 GMT",
> client-request-num  =>  1,
> content-encoding=>  "gzip",
> content-length  =>  14169205,
> content-type=>  "text/plain",
> last-modified   =>  "Mon, 14 Mar 2011 16:52:05 GMT",
> server  =>  "FTP Server"
> }
> }
>
>
>
> --- com proxy
> HTTP::Headers  {
> public methods (38) : as_string, authorization, authorization_basic,
> clear, client_date, content_encoding, content_is_html, content_is_text,
> content_is_xhtml, content_is_xml, content_language, content_length,
> content_type, content_type_charset, date, expires, from, header,
> header_field_names, if_modified_since, if_unmodified_since, init_header,
> last_modified, new, proxy_authenticate, proxy_authorization,
> proxy_authorization_basic, push_header, referer, referrer,
> remove_content_headers, remove_header, scan, server, title, user_agent,
> warning, www_authenticate
> private methods (5) : _basic_auth, _date_header, _header,
> _process_newline, _sorted_field_names
> internals: {
> client-date  =>  "Fri, 08 Mar 2013 19:36:13 GMT",
> client-peer  =>  "10.46.10.19:3129",
> client-response-num  =>  1,
> connection   =>  "close",
> date =>  "Fri, 08 Mar 2013 19:35:52 GMT"
> }
> }
>
>
>
> Ele simplesmente não cria/recebe content-encoding, content-length,
> content-type, last-modified e server.
> Só o que eu preciso mesmo é o content-length.
>
> By the way, o LWP::UserAgent  head() não me informa o tamanho do arquivo.
> Pelo menos não nos meus testes.
>
> Vocês conhecem alguma outra maneira de obter a informação de tamanho do
> arquivo sem ter que baixá-lo?
> Acessando o directory listing também não dá, porque através do proxy, o
> formato que ele retorna varia em cada sistema (pelo menos foi o que eu
> observei. me corrijam se eu estiver errada).
>
>
> Obrigada!
>
> Abraços,
> Nicole
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] remaps (was: IDE para Perl)

2013-03-07 Por tôpico Stanislaw Pusep
Talvez não seja novidade, mas eu fiquei surpreso quando descobri que o ESC
faz o papel de META... Em alguns terminais mal-configurados, Alt-B não
funciona, mas ESC-B faz exatamente o mesmo \o/


ABS()


2013/3/7 Nuba Princigalli 

> Caros,
>
> Vendo isso aqui dá pra entender melhor os keybindings do vim:
> https://en.wikipedia.org/wiki/Esc_key#Uses
>
> Eu vivi com mindinho cansado/dolorido no fim do dia por um certo tempo,
> mas depois dos remaps, nunca mais.
>
> E nem me preocupei em colocar CAPS LOCKS em algum lugar. Foi pro s*. É
> uma posição muito estratégica (home row, ao lado do A) pra uma tecla tão
> pouco útil.
>
> Para quem não quiser sair remapeando, mas quiser manter a mão mais na
> área da home row, fica a dica de que
>
> * TAB é ^I
> * ESC é ^[
>
> :D
>
> Abraço,
>
> Nuba
>
> On Sat, Mar 2, 2013, at 09:02 AM, Gabriel Andrade wrote:
> >
> > On Mar 1, 2013, at 11:51 PM, Giuliani Sanches  >
> > wrote:
> >
> > > Quanto ao Emacs faço uma recomendação: faça sua tecla caps lock virar
> um control.
> > >
> > > Você pode inverter ela com o control esquerdo (control vira caps, caps
> vira control) ou então fazer com que ela simplesmente seja mais um control
> e migrar o caps para outra tecla como eu fiz no windows com o SharpKeys e
> quero testar o mesmo no Mac.
> > >
> > > Leva um tempo para se acostumar mas pode ter certeza, vc estará
> fazendo um bem imenso para suas mãos (eu recomendo essa mudança pra qqer um
> e qqer editor, mas ninguém me escuta :) )
> >
> > +1
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> --
> Nuba R. Princigalli  n...@pauleira.com  http://pauleira.com
> @nprincigalli
> Discipline is not an end in itself, just a means to an end. - King
> Crimson
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] use 5.016 ou use strict/warnings

2013-03-01 Por tôpico Stanislaw Pusep
use common::sense;


ABS()


2013/3/1 Marcio Ferreira 

> Well, o que vocês preferem entre _use 5.016_ e _use strict; use warnings;_
> ?
>
> Faz tempo que uso o _use 5.016_ e vocês?
>
> Emendando outra, que versão de perl vocês usam em produção?
>
> []s,
>
> Marcio Ferreira
> skype: marcio.ferreir4
> (21) 8365-7768
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] tmux/screen eyecandy

2013-02-01 Por tôpico Stanislaw Pusep
Fiz um scriptzinho em Perl para exibir um monitor de recursos
(CPU/RAM/bateria) no status bar do tmux: https://coderwall.com/p/tt3rvg

Como não uso o screen no meu dia-a-dia, apenas garanti que a bagaça não
quebra nele. Portanto, caros usuários do screen (sei que tem muitos aqui
:), peço a gentileza de fazer um test-drive da branch
https://github.com/creaktive/rainbarf/tree/screen

ABS()
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Perl POD

2012-12-18 Por tôpico Stanislaw Pusep
Costumo comentar os blocos de código assim:

=for comment
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d8^($f=$t&($d12^$d4^
$d^$d/8))<<17,$e=$e8^($t&($g=($q=$e14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
=cut


ABS()



2012/12/18 Nicole Scherer 

> Oi Mongers,
>
> vocês usam o perl POD para documentar seus scripts e pacotes, ou há outra
> estratégia de documentação mais recomendada.
>
> Pergunto, porque já usei (bem pouquinho) o POD, só que com ele eu perco a
> gambiarra de comentar pedaços grandes de código usando o =begin ... =cut.
> Existe outra estratégia não-gambiarra de comentar pedaços de código que
> não seja colocando # no início de cada linha?
>
> Acho engraçado que o próprio nome "Plain Old Documentation format" diz que
> é antigo (o que não necessariamente significa desatualizado)
> Li algo sobre "Natural Docs", alguém usa?
>
>
> []'s
> Nicole
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-13 Por tôpico Stanislaw Pusep
Aureliano, o lexer do brainfuck utilizando given/when ficaria +/- assim:

#!/usr/bin/env perl
use 5.010;
use strict;
use warnings qw(all);

local ($|, $/) = (1, \1);

for my $instr () {
given ($instr) {
when ('>') { ... }
when ('<') { ... }
when ('+') { ... }
when ('-') { ... }
when ('.') { ... }
when (',') { ... }
when ('[') { ... }
when (']') { ... }
default { next }
}
}

__DATA__
+++
>+
><<[>[>>+>
+<<<-]>>>[<<<+>>>-]<[>++[-
<-[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]>[<<[>>>+<<<
-]>>[-]]<<]>>>[>>+>+<<<-]>>>[<<<+>>>-]+<[>[-]<[-]]
>[<<+>>[-]]<<<]>[+
+++.[-]]++<[->-<]>
.[-]<<
<<[>>>+>+-][+-]<-[>>.>.<<<
[-]]<<[>>+>+<<<-]>>>[<<<+>>>-]<<[<+>-]>[<+>-]<<<-]

Lição de casa: preencher os espaços dos '...' para que calcule e imprima
"1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89" (pq "Hello World!" é muito fácil,
rsss)

ABS()



2012/12/12 Aureliano Guedes 

>  Ainda não tinha me aventurado nas novidades do Perl 5.16.
>
> o when eu entendi, mas o given não, alguem poderia me explicar o uso do
> given??
>
> O break ja funciona no 5.16?? se sim, como???
>
> --
> From: creakt...@gmail.com
> Date: Wed, 12 Dec 2012 14:06:14 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> As variáveis @loop e $s não afetam a lógica do seu programa.
> Isso é, a sua implementação das instruções de ciclo condicional, [ e ],
> está incompleta.
> Outra coisa, ao invés de usar if(){}elsif(){}, procure usar given/when,
> nesse caso seria mais apropriado.
> Por fim, o I/O do brainfuck é por caractere, então certifique-se de que o
> buffering de I/O do Perl esteja desligado e que <> retorne 1 caractere de
> cada vez: local ($|, $/) = (1, \1);
>
>  ABS()
>
>
>
> 2012/12/11 Aureliano Guedes 
>
>  Por isso é passatempo, é pra quem tem tempo. hahaha
>
> Valeu
>
> --
> From: renato.c...@gmail.com
> Date: Tue, 11 Dec 2012 21:45:03 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> pow,
>
> se ninguem te ajudar até domingo, até domingo eu do uma olhada! haha #
> semtempo
>
> 2012/12/11 Aureliano Guedes 
>
>  Não so isso, deve ter algo mais.
>
> Mesmo trocando $p-- if ($i eq '>'); por  $p-- if ($i eq '<');.
>
> Os caracteres que saem são estranhos, não sai o que eu queria.
>
> --
> From: renato.c...@gmail.com
> Date: Tue, 11 Dec 2012 21:36:03 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> não são essas linhas aqui?
>
>
>1. $p++ if ($i eq '>');
>2. $p-- if ($i eq '>');
>
>
> 2012/12/11 Aureliano Guedes 
>
>  ahsuahuhasuahsuah
>
> Da hora mesmo, quando terminar, quem sabe não faço algo do tipo.
>
> --
> From: creakt...@gmail.com
> Date: Tue, 11 Dec 2012 21:15:38 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
>
> Dahora, parabéns :D
> BTW, isso me lembrou de um "dialeto" do brainfuck, o trollscript:
> https://github.com/caius/trollscript
> Isso é um "hello world" em trollscript:
>
> Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll
> É sério.
>
> ABS()
>
>
>
> 2012/12/11 Aureliano Guedes 
>
>  Ola monges,
>
> Estou desenvolvendo um novo brinquedo, como forma de passatempo mesmo, um
> interpretador para BrainFuck.
>
> Futuramente pretendo desenvolver um compilador.
>
> Se alguem se interessar pelo assunto e puder colaborar e/ou ajudar, o que
> deesenvolvi ainda não esta funcional, e estou tendo algumas dificuldades.
>
> http://pastebin.com/aEppcPKt
>
> Para testarem um hello wolrd em BF:
>
>
> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>
>
>
>
>
>
>
>
>
>
>
> Os comandos de brainfuck : http://pt.wikipedia.org/wiki/Brainfuck#Comandos
>
> Aqui tem um pequeno tutorial tambem: 
> http://wiki.portugal-a-programar.pt/dev_geral:linguagens_esoterica:brainfuck
>
>
>
>
>
>
>
>
>
> Aqui tambem:
>
> Basicamente é isso:
>
> http://unauthorizedaccess.files.wordpress.com/2011/02/cmds.jpg?w=610
>
>
>
>
>
>
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> 

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-12 Por tôpico Stanislaw Pusep
As variáveis @loop e $s não afetam a lógica do seu programa.
Isso é, a sua implementação das instruções de ciclo condicional, [ e ],
está incompleta.
Outra coisa, ao invés de usar if(){}elsif(){}, procure usar given/when,
nesse caso seria mais apropriado.
Por fim, o I/O do brainfuck é por caractere, então certifique-se de que o
buffering de I/O do Perl esteja desligado e que <> retorne 1 caractere de
cada vez: local ($|, $/) = (1, \1);

ABS()



2012/12/11 Aureliano Guedes 

>  Por isso é passatempo, é pra quem tem tempo. hahaha
>
> Valeu
>
> --
> From: renato.c...@gmail.com
> Date: Tue, 11 Dec 2012 21:45:03 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> pow,
>
> se ninguem te ajudar até domingo, até domingo eu do uma olhada! haha #
> semtempo
>
> 2012/12/11 Aureliano Guedes 
>
>  Não so isso, deve ter algo mais.
>
> Mesmo trocando $p-- if ($i eq '>'); por  $p-- if ($i eq '<');.
>
> Os caracteres que saem são estranhos, não sai o que eu queria.
>
> --
> From: renato.c...@gmail.com
> Date: Tue, 11 Dec 2012 21:36:03 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
> não são essas linhas aqui?
>
>
>1. $p++ if ($i eq '>');
>2. $p-- if ($i eq '>');
>
>
> 2012/12/11 Aureliano Guedes 
>
>  ahsuahuhasuahsuah
>
> Da hora mesmo, quando terminar, quem sabe não faço algo do tipo.
>
> --
> From: creakt...@gmail.com
> Date: Tue, 11 Dec 2012 21:15:38 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck
>
>
> Dahora, parabéns :D
> BTW, isso me lembrou de um "dialeto" do brainfuck, o trollscript:
> https://github.com/caius/trollscript
> Isso é um "hello world" em trollscript:
>
> Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll
> É sério.
>
> ABS()
>
>
>
> 2012/12/11 Aureliano Guedes 
>
>  Ola monges,
>
> Estou desenvolvendo um novo brinquedo, como forma de passatempo mesmo, um
> interpretador para BrainFuck.
>
> Futuramente pretendo desenvolver um compilador.
>
> Se alguem se interessar pelo assunto e puder colaborar e/ou ajudar, o que
> deesenvolvi ainda não esta funcional, e estou tendo algumas dificuldades.
>
> http://pastebin.com/aEppcPKt
>
> Para testarem um hello wolrd em BF:
>
>
> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>
>
>
>
>
>
>
>
>
> Os comandos de brainfuck : http://pt.wikipedia.org/wiki/Brainfuck#Comandos
>
> Aqui tem um pequeno tutorial tambem: 
> http://wiki.portugal-a-programar.pt/dev_geral:linguagens_esoterica:brainfuck
>
>
>
>
>
>
>
> Aqui tambem:
>
> Basicamente é isso:
>
> http://unauthorizedaccess.files.wordpress.com/2011/02/cmds.jpg?w=610
>
>
>
>
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron 
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron 
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [Passatempo] Interpretador para BrainFuck

2012-12-11 Por tôpico Stanislaw Pusep
Dahora, parabéns :D
BTW, isso me lembrou de um "dialeto" do brainfuck, o trollscript:
https://github.com/caius/trollscript
Isso é um "hello world" em trollscript:
Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll
É sério.

ABS()



2012/12/11 Aureliano Guedes 

>  Ola monges,
>
> Estou desenvolvendo um novo brinquedo, como forma de passatempo mesmo, um
> interpretador para BrainFuck.
>
> Futuramente pretendo desenvolver um compilador.
>
> Se alguem se interessar pelo assunto e puder colaborar e/ou ajudar, o que
> deesenvolvi ainda não esta funcional, e estou tendo algumas dificuldades.
>
> http://pastebin.com/aEppcPKt
>
> Para testarem um hello wolrd em BF:
>
>
> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>
>
>
> Os comandos de brainfuck : http://pt.wikipedia.org/wiki/Brainfuck#Comandos
>
> Aqui tem um pequeno tutorial tambem: 
> http://wiki.portugal-a-programar.pt/dev_geral:linguagens_esoterica:brainfuck
>
> Aqui tambem:
>
> Basicamente é isso:
>
> http://unauthorizedaccess.files.wordpress.com/2011/02/cmds.jpg?w=610
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Stanislaw Pusep
Todos sabem que a WWII foi desencadeada por causa da festa de aniversário
de 50 anos de Hitler.

ABS()



2012/11/30 Aureliano Guedes 

>  Bruno, no meu if funcionou tanto com && quanto com and. O meu erro mesmo
> foi que a regex pegava um espasso.
>
> Bem a minha duvida ficou em "porque seria problematico colocar reais em
> chaves de hash no meu caso?"
>
> Se eu fosse pesquisar um valor especifico e tivesse duas ou mais chaves
> com o mesmo valor real seria problema
> mas no meu caso umporta que o valor esteja em um determinado intervalo,
> podem ter 20 chaves iguais, estando no intervalo
> eu quero os 20 valores. 49??
>
> --
> From: leonardo.bal...@gmail.com
> Date: Fri, 30 Nov 2012 00:15:50 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Chaves de hash
>
> Quero participar dessa discussao antes do 50.
>
> Por que tanta peculiariade na dicotomia  de popular?
>
> Na buzilis da cizania ja nao era mais sobre Perl ou foi impressao minha?
>
>
> Leo Balter - via mobile
>
> Em 30/11/2012, às 00:02, Marcio Ferreira 
> escreveu:
>
> 47
> On Nov 29, 2012 11:35 PM, "Renato Santos"  wrote:
>
> #define float_epsilon 0.1;#define float_equal(a,b) (fabs((a) - (b)) < 
> float_epsilon)
>
> *BTW*
>
> 2012/11/29 Blabos de Blebe 
>
> float_equal
>
>
>
>
> --
> Saravá,
> Renato CRON
> http://www.renatocron.com/blog/
> @renato_cron 
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Comparação de arquivos

2012-11-26 Por tôpico Stanislaw Pusep
Esta sintaxe de expressão regular é chamada de "named capture". Surgiu no
Perl v5.10. Ao invés de $1, $2, $3, ..., você dá um nome legível à captura.
Por si só, já é bastante útil, mas a utilidade maior aparece na
possibilidade da construção de "grammars", similares a BNF (
https://pt.wikipedia.org/wiki/Formalismo_de_Backus-Naur#Exemplo).
Recomendo esse artigo para aprender a usar estes recursos:
http://www.effectiveperlprogramming.com/blog/1479

ABS()



2012/11/26 Nicole 

> Oi a todos,
>
> aproveitando a paciência infinita do Breno...
>
> Poderias esclarecer como funciona isto:
> (?...)
>
> e o que acontece então aqui:
> "valores agrupados na regex por nome dentro do hash %+. No caso,
> acessei o grupo (?) fazendo $+{mirna};"
>
> Criaste um hash de nome %+ 
> É uma variável reservada?
> Qual o valor que assume $mirna aqui?
> Na primeira vez que entra no if, $mirna está vazio, não? Como pode ser key
> do hash %dados assim?
>
> []'s
> Nicole Scherer
>
>
>   --
> *De:* breno 
> *Para:* Perl Mongers Rio de Janeiro 
> *Enviadas:* Sábado, 24 de Novembro de 2012 9:45
> *Assunto:* Re: [Rio-pm] Comparação de arquivos
>
> 2012/11/24 Aureliano Guedes :
> >
> > Se não for ser muito chato, como faço para seguir a forma abaixo:
> >
> >
> >> 2) trocar de abordagem, fazendo seu parser ler linha a linha (sem
> >> modificar $/) e ir acumulando as linhas até encontrar um símbolo que
> >> indique nova entrada.
> >
> > seria algo do tipo:
> >
> > while (<$fh>){
> > if(/primeira linha/){
> > print $_;
> > }
> > elsif (/ultima linha/){
> > #sair do loop
> > }
> > else {
> > print $_
> > }
> > }
> >
>
> Algo como (atenção, código não testado):
>
> ---8<---
> my %dados = ();
> my $mirna;
> my $acumulador;
>
> while (my $linha = <$fh>) {
>   if ( $linha =~ m{tag magica (?\S+)} ) {
>   $dados{$mirna} = $acumulador if $mirna;
>   $mirna = $+{mirna};
>   $acumulador = q();
>   }
>   else {
>   $acumulador .= $linha;
>   }
> }
>
> use DDP; p %dados;
>
> --->8---
>
> O que isso faz (ou deveria fazer: já mencionei que não testei?
> Programar a essa hora da manhã não é meu forte, então favor
> desconsiderar qualquer besteira):
>
> 1) le o arquivo linha por linha, atribuindo o valor de cada linha a
> $linha (sem usar $_)
> 2) sempre que encontrar a tag mágica que separa entradas (estou
> assumindo que a tag indica um novo registro que pode ser chave do seu
> hash de dados:
> 2.1) se já estiver com um registro em memória ($mirna), bota os dados
> acumulados ($acumulador) dentro do hash;
> 2.2) atribui à $mirna o novo registro encontrado. Note que estou
> usando grupos nomeados na regex, fazendo (?...) em vez de apenas
> (...). Isso funciona a partir do 5.10.0 e me permite acessar os
> valores agrupados na regex por nome dentro do hash %+. No caso,
> acessei o grupo (?) fazendo $+{mirna};
> 2.2) zera o acumulador.
> 3) se não encontrar a tag mágica, vai acumulando os dados. Dentro
> desse 'else' vc pode fazer coisas como "next if $linha =~ /.../" caso
> não queira guardar alguma linha, por exemplo.
> 4) Depois do while vc pode inspecionar %dados para saber se está tudo ok.
>
>
> Entendeu?
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] HTML::Parse

2012-10-25 Por tôpico Stanislaw Pusep
++breno!

ABS()



2012/10/25 breno 

> 2012/10/25 Aureliano Guedes :
> > Eu fiz de uma forma que deu certo, mas ficou feio e cheio de más
> praticas,
> > mandando reguex em xml e tals.
> >
> > Quero fazer de forma bonita com XPath e tals. Mas ainda estou em
> processo de
> > entendet tudo isso.
> >
> > Estou tentando pegar o primeiro link da lista de videos de um resultado
> de
> > pesquisa do YouTube.
> > Para isso estou ultilizando uma API do YouTube:
> >
> https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#Searching_for_Videos
> >
> > Onde estão os erros fora tudo?? -> http://pastebin.com/T06Mi1Nx
> >
>
> Olha, fora tudo, posso te garantir que não há erros :)
>
> Pergunta: vc tá fazendo isso só por diversão, né? Isso porque uma
> busca rápida no CPAN me levou ao WebService::GData::YouTube, que faz
> buscas e muito mais.
>
> https://metacpan.org/module/WebService::GData::YouTube#search_video
>
> O "one-liner" abaixo, por exemplo, exibe o título do primeiro
> resultado para uma busca no YouTube por "perl":
>
> perl -MWebService::Gdata::YouTube -E 'my $yt =
> WebService::GData::YouTube->new; $yt->query->q( q[perl] )->limit(1,0);
> say $_->title foreach @{ $yt->search_video() }'
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Stanislaw Pusep
Assumindo que o MP3 tenha uma entropia próxima de 8 bits por byte (algo que
definitivamente não vale para um arquivo .pl, por mais que nos caçoem), um
arquivo de 6,16MB poderá ter cerca de 25 mil ocorrências de \x0A. Mapeando
CR => CRLF, pode crescer em cerca de 50KB. Acho que 6,19MB está dentro da
faixa :)

ABS()



2012/10/21 Tiago Peczenyj 

> mas isso nao explica o tamanho do video ser tão diferente...
>
>
> 2012/10/21 Stanislaw Pusep 
>
>> Você usa Windows, não?
>> Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
>> então abrir o handle como open($fh, '>:raw', 'nome.mp3').
>> O erro acontece por que o Perl do Windows substitui byte \x0A pela
>> sequencia \x0D\x0A em arquivos "texto".
>> Em arquivo não-"texto", isso não é nada bom.
>>
>> ABS()
>>
>>
>>
>>
>> 2012/10/21 Aureliano Guedes 
>>
>>>  Não ainda, vou experimentar e volto com os resultados.
>>>
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Sun, 21 Oct 2012 17:54:30 -0200
>>>
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>
>>> então alguma coisa acontece durante o transporte ou o protocolo de
>>> transmissão. estou sem tempo de analisar mas vc experimento usar o
>>> wireshark?
>>>
>>> 2012/10/21 Aureliano Guedes 
>>>
>>>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
>>> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
>>> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>>>
>>> Ja tentei baixar denovo, continua o mesmo problema.
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Sun, 21 Oct 2012 17:25:59 -0200
>>>
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>
>>> analise o arquivo original e o que vc esta salvando, vc pode ter
>>> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
>>> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
>>> cabeçalho do mp3).
>>>
>>> 2012/10/21 Aureliano Guedes 
>>>
>>>  Realmente, um erro por falta de atenção. Agora deu certo.
>>>
>>> Contudo, os arquivos chegam com algum problema que não sei o que é.
>>>
>>> As musicas não tocam normalmente, elas ficam com um barulho estranho e
>>> quase não da para reconhecer a musica, é como se estivesse acelerado.
>>>
>>> Será que é problemas calsado devido a forma que estou manipulando esse
>>> tipo de arquivo?
>>>
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Sun, 21 Oct 2012 16:57:12 -0200
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] print() on closed filehandle
>>>
>>>
>>> sem falar que esta usando open com 2 argumentos. tente usar com 3
>>> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
>>> inves de um ponto para concatenar. alias vc pode interpolar assim
>>>
>>> open my $fh,">","$nome.mp3";
>>>
>>> ou
>>>
>>> open my $fh,">","${nome}.mp3";
>>>
>>> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>>>
>>> espacos no nome do arquivo? (sempre, como letras acentuadas,
>>> abominavel...)
>>> 0le
>>> Send via Android
>>> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
>>> wrote:
>>>
>>>  Ola monges.
>>>
>>> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>>>
>>> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
>>> C:\User\AG\Desktop\mes.pl  line 31.'.
>>>
>>> O sistema so retorna 'Invalid argument' quando uso o $!.
>>>
>>> Então usei o autodie para ver o que me retornava:
>>> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
>>> argument' C:\User\AG\Desktop\mes.pl  line 19."
>>>
>>> Enfim, não estou entendendo o erro retornado.
>>>
>>> http://pastebin.com/qxCMLv1V
>>>
>>> #!/usr/bin/env perl
>>>
>>> use common::sense;
>>> use WWW::Mechanize;
>>> use autodie;
>>>
>>&

Re: [Rio-pm] print() on closed filehandle

2012-10-21 Por tôpico Stanislaw Pusep
Você usa Windows, não?
Neste caso, precisa dar um binmode($fh) logo após o open($fh, ...). Ou
então abrir o handle como open($fh, '>:raw', 'nome.mp3').
O erro acontece por que o Perl do Windows substitui byte \x0A pela
sequencia \x0D\x0A em arquivos "texto".
Em arquivo não-"texto", isso não é nada bom.

ABS()



2012/10/21 Aureliano Guedes 

>  Não ainda, vou experimentar e volto com os resultados.
>
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 17:54:30 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
> então alguma coisa acontece durante o transporte ou o protocolo de
> transmissão. estou sem tempo de analisar mas vc experimento usar o
> wireshark?
>
> 2012/10/21 Aureliano Guedes 
>
>  MD5 diferente, ate o tamanho do arquivo é diferente, baixei o original
> pelo FF e a musica esta normal, alem, de que tem o tamanho de 6,16MB.
> Em contrapartida o arquivo obtido pelo script fica com 6,19MB.
>
> Ja tentei baixar denovo, continua o mesmo problema.
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 17:25:59 -0200
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
> analise o arquivo original e o que vc esta salvando, vc pode ter
> corrompido algum byte. se o md5 dos dois for igual o problema é outro, se
> for diferente analise o que o ffmpeg -i diz do arquivo (ele vai analisar o
> cabeçalho do mp3).
>
> 2012/10/21 Aureliano Guedes 
>
>  Realmente, um erro por falta de atenção. Agora deu certo.
>
> Contudo, os arquivos chegam com algum problema que não sei o que é.
>
> As musicas não tocam normalmente, elas ficam com um barulho estranho e
> quase não da para reconhecer a musica, é como se estivesse acelerado.
>
> Será que é problemas calsado devido a forma que estou manipulando esse
> tipo de arquivo?
>
> --
> From: tiago.pecze...@gmail.com
> Date: Sun, 21 Oct 2012 16:57:12 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] print() on closed filehandle
>
>
> sem falar que esta usando open com 2 argumentos. tente usar com 3
> argumentos separando o modo de abrir do nome do arquivo com uma virgula ao
> inves de um ponto para concatenar. alias vc pode interpolar assim
>
> open my $fh,">","$nome.mp3";
>
> ou
>
> open my $fh,">","${nome}.mp3";
>
> On Sun, Oct 21, 2012 at 4:54 PM, Ole Peter Smith wrote:
>
> espacos no nome do arquivo? (sempre, como letras acentuadas, abominavel...)
> 0le
> Send via Android
> On Oct 21, 2012 3:38 PM, "Aureliano Guedes" 
> wrote:
>
>  Ola monges.
>
> Estou com problema para salvar arquivos *.mp3 recebidos via download.
>
> Ao salvar a mensagem retornada é 'print () on closed filehandle FH at
> C:\User\AG\Desktop\mes.pl  line 31.'.
>
> O sistema so retorna 'Invalid argument' quando uso o $!.
>
> Então usei o autodie para ver o que me retornava:
> "Can't open '>Thaeme e Thiago - Ai que do.mp3' for writing: at 'Invalid
> argument' C:\User\AG\Desktop\mes.pl  line 19."
>
> Enfim, não estou entendendo o erro retornado.
>
> http://pastebin.com/qxCMLv1V
>
> #!/usr/bin/env perl
>
> use common::sense;
> use WWW::Mechanize;
> use autodie;
>
>
> sub parse {
> my ($self) = shift;
> $self =~ s/\s+/\+/g;
> chomp $self;
> print "Now --> " . $self . "\n\n";
> return ("http://www.buscamp3.org/busca/"; . $self);
> }
>
> sub gd {
> my ($self, $name) = @_;
> print $self . " == " . $name . "\n\n";
> open my $fh,">". $name . ".mp3";
> my $m = WWW::Mechanize->new();
> my $p = $m->get($self);
> $p = $p->decoded_content;
> $m->max_redirect(1);
> my @Links = $m->links();
> my $w = 0;
> SWU: foreach my $link(@Links){
> my @a = split ("/", $link->url());
> if ($a[1] =~ m/dl/gi){
> print "OK!\n";
> my $c = $m->get("http://www.buscamp3.org"; . $link->url());
> print $fh $c->decoded_content;
> close $fh;
> $w = 1;
> }
> last SWU if ($w == 1);
> }
> undef $m;
> }
>
>
> open IN, $ARGV[0] or die;
>
> foreach (){
> print "Search for: " . $_ . "\n";
> my $a = parse($_);
> gd($a, $_);
> print "\n\n";
> }
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Stanislaw Pusep
É a inspiração trazida pelo YAPC::Brasil, transbordando ;)

ABS()



2012/10/20 marcio souza ferreira 

> admiro alguns da lista, meia-noite de uma sexta-feira e a nerdaiada
> postando código e outros lendo K
>
> forever alone level master!
>
> Em 20 de outubro de 2012 00:13, Stanislaw Pusep escreveu:
>
> Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
>> No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
>> XPath:
>>
>> //table[@class='linhas_lista'][1]//tr/td[2]/a/@href
>>
>> De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
>> https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
>> Firefox tem (tinha?) um tal do XPather:
>> https://addons.mozilla.org/en-US/firefox/addon/xpather/
>>
>> Provando o que o Marcio disse:
>>
>> stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e
>> 'p scraper{process q(//h1/strong),title=>q(text);process
>> q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/))) x 2)'
>> Printing in line 1 of -e:
>> \ {
>> title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
>> url [
>> [0]
>> http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [1]
>> http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [2]
>> http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [3]
>> http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ,
>> [4]
>> http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
>> ]
>> }
>>
>> Sem ser one-liner maldito:
>>
>> #!/usr/bin/env perl
>> use common::sense;
>> use Data::Printer;
>> use URI;
>> use Web::Scraper;
>>
>> my $url = URI->new('
>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');
>>
>> p scraper {
>> process q(//h1/strong),
>> title => 'text';
>> process q(//a[@href=~/\\.mp3$/]),
>> 'url[]' => '@href';
>> }->scrape($url, $url);
>>
>> ABS()
>>
>>
>>
>>
>> 2012/10/19 Aureliano Guedes 
>>
>>>  Parece interessante mesmo, mas dificil de entender, principalmente
>>> quando é alguem que como eu não sabe nada de HTML.
>>> Realmente não entendi como faria tudo isso com o Web::Scraper.
>>>
>>> --
>>> From: marciodesouzaferre...@gmail.com
>>> Date: Fri, 19 Oct 2012 21:14:53 -0300
>>>
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] HTML::Parse
>>>
>>> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
>>> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
>>> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>>>
>>> []s,
>>>
>>> Marcio Ferreira
>>> @_marcioferreira
>>> (11) 8567-1482   skype: marcio.ferreir4
>>> marciodesouzaferreira.blogspot.com
>>>
>>>
>>>
>>> 2012/10/19 Rafael Prenzier 
>>>
>>> WWW::Mechanize ++
>>>
>>>
>>> 2012/10/19 Ricardo Filipo 
>>>
>>> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>>>
>>> Veja um exemplo de uso:
>>>
>>> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>>>
>>>--
>>> *De:* Aureliano Guedes 
>>> *Para:* Rio PM 
>>> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
>>> *Assunto:* [Rio-pm] HTML::Parse
>>>
>>>  Ola monges,
>>> tudo bem?
>>>
>>> Qual um bom modulo para buscar string em um HTML?
>>> Vocês aconselham o HTML::Parse?
>>>
>>> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
>>> uma pagina.
>>>
>>> Um exemplo é esse:
>>> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>>>
>>> Os Links estão nesse formato:
>>>
>>> >> title="Thaeme E Thiago - Ai Que Do">
>>>
>>>
>&

Re: [Rio-pm] HTML::Parse

2012-10-19 Por tôpico Stanislaw Pusep
Web::Scraper requer conhecimento de XPath e/ou seletores CSS.
No caso do link que você passou, URL do primeiro MP3 pode ser obtida via
XPath:

//table[@class='linhas_lista'][1]//tr/td[2]/a/@href

De onde tirei isso? De uma extensão pro Chrome, chamada XPath Helper:
https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl
Firefox tem (tinha?) um tal do XPather:
https://addons.mozilla.org/en-US/firefox/addon/xpather/

Provando o que o Marcio disse:

stas@Stanislaws-MacBook-Pro:~$ perl -CADS -MDDP -MURI -MWeb::Scraper -e 'p
scraper{process q(//h1/strong),title=>q(text);process
q(//a[@href=~/\.mp3$/]),q(url[])=>q(@href)}->scrape((URI->new(q(
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/))) x 2)'
Printing in line 1 of -e:
\ {
title   "Baixar Thaeme e Thiago - Ai que do/ grátis",
url [
[0]
http://www.buscamp3.org/dl/3473494b6c3636334d55/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[1]
http://www.buscamp3.org/dl/3473674c78687936326f/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[2]
http://www.buscamp3.org/dl/34736943505352494374/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[3]
http://www.buscamp3.org/dl/34734c6f727448494d71/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
,
[4]
http://www.buscamp3.org/dl/3473644e636d6f345245/554545485125135/Thaeme+E+Thiago+-+Ai+Que+Do.mp3
]
}

Sem ser one-liner maldito:

#!/usr/bin/env perl
use common::sense;
use Data::Printer;
use URI;
use Web::Scraper;

my $url = URI->new('
http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/');

p scraper {
process q(//h1/strong),
title => 'text';
process q(//a[@href=~/\\.mp3$/]),
'url[]' => '@href';
}->scrape($url, $url);

ABS()



2012/10/19 Aureliano Guedes 

>  Parece interessante mesmo, mas dificil de entender, principalmente quando
> é alguem que como eu não sabe nada de HTML.
> Realmente não entendi como faria tudo isso com o Web::Scraper.
>
> --
> From: marciodesouzaferre...@gmail.com
> Date: Fri, 19 Oct 2012 21:14:53 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] HTML::Parse
>
> estou cansado pra implementar, mas o Web::Scraper é tipo um néctar dos
> deuses, vc faz um crawler em 5' com ele, bem estilo Perl(que sai da frente
> e deixa você focar na solução) isso se o HTML não for um monstrengo =)
>
> []s,
>
> Marcio Ferreira
> @_marcioferreira
> (11) 8567-1482   skype: marcio.ferreir4
> marciodesouzaferreira.blogspot.com
>
>
>
> 2012/10/19 Rafael Prenzier 
>
> WWW::Mechanize ++
>
>
> 2012/10/19 Ricardo Filipo 
>
> Eu gosto do HTML::TreeBuilder pois dá uma visão mais organizada do DOM.
>
> Veja um exemplo de uso:
>
> https://github.com/rfilipo/WebService-EBC/blob/master/lib/WebService/EBC/News.pm
>
>--
> *De:* Aureliano Guedes 
> *Para:* Rio PM 
> *Enviadas:* Sexta-feira, 19 de Outubro de 2012 13:22
> *Assunto:* [Rio-pm] HTML::Parse
>
>  Ola monges,
> tudo bem?
>
> Qual um bom modulo para buscar string em um HTML?
> Vocês aconselham o HTML::Parse?
>
> Eu não entendo muito de html, mas estou tentando pegar um link dentro de
> uma pagina.
>
> Um exemplo é esse:
> http://www.buscamp3.org/busca/Thaeme+e+Thiago+-+Ai+que+do/
>
> Os Links estão nesse formato:
>
>  title="Thaeme E Thiago - Ai Que Do">
>
>
> O Problema é que no caso dessa pagina tem 4 links desse modelo e eu queria
> pegar apenas o primeiro.
> Poderia usar regexp mas anteriormente me disseram que não é muito elegante
> parsear HTML na unha.
>
> Sei que a duvida é banal, mas se puderem me dar uma dica agradeço.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Rafael Prenzier dos Santos | Engenheiro e Perl Monger
>
>  (11) 5209-0847
>
> www.prenzier.com
>
>    
> 
>    
> 
>    
> 
>    
> 
>    
> 
>   
>  
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mail

[Rio-pm] Fwd: Senior Perl and Sysop opportunity with Betonmarkets.com

2012-10-08 Por tôpico Stanislaw Pusep
FWIW

ABS()



-- Forwarded message --
From: Jean-Yves Sireau 
Date: Mon, Oct 8, 2012 at 4:00 AM
Subject: Senior Perl and Sysop opportunity with Betonmarkets.com
To: s...@sysd.org


 Dear Stanislaw,

Betonmarkets.com is currently recruiting for a Senior Perl Developer and
a Senior Systems Engineer. Your email address is in our database of
experienced Perl and Linux developers. Would you potentially have an
interest in either position?

This is a unique opportunity to join a multi-national team of talented
developers, whilst gaining international experience in Malaysia's
e-commerce hub of Cyberjaya.

Our Group was founded in 1999, we have been operating in Malaysia since
2004. We have a technical team of diverse nationalities, including people
working in Malaysia as well as commuters in different parts of the world.

Our company provides IT and quant (financial mathematics) services to the
betonmarkets.com financial platform. We use Perl and lots of Perl-related
technologies extensively. We use other technologies too such as Apache,
nginx, mod_perl, PostgreSQL, Javascript, Git, Puppet, Selenium, Jenkins,
OpenVZ and AWS. We use Linux for all our infrastructure and desktops.
Our daily routine involves maintaining the business operations as well as
developing and deploying new solutions to make life easier for ourselves
and our customers.

We have a very casual work environment and culture, from dress code to
the way we communicate and work. Our technical teams are people who are
deeply concerned about the quality of their work and have a passion for
it. We try to improve the way things are done constantly. We don't have
a very big team so our staff have to deal with a variety of interesting
tasks on a daily basis.

Right now due to recent business expansion we have a vacancy for a
Senior Perl Developer and a Senior Systems Engineer. As a part of our
technical team, the successful candidates will be involved in our daily
operations to make our infrastructure and products closer to what our
customers need. Development is ongoing and we deploy regularly. We
really care about testing and fault-proofing our code before it goes
live so there’s a great deal of QA involved. We use virtualization
extensively and rely on third party cloud services for parts of our
operation. We are always on the lookout for new technologies that can
add value to our portfolio of tools and services.

You might be a good match for our company if:

- You are knowledgeable and passionate about Linux and its nuts and
  bolts;
- You are experienced with Perl. Take our word - there’s no escape
  from Perl here;
- You are familiar with technologies such as Apache, nginx, Git, Debian
  packaging, monitoring solutions and are comfortable learning new ones
  when needed;
- You can work as a part of a team of people as good as or better than
  you.
- You can take and provide criticism and build on the experience to
  build better solutions in the future;
- You are an independent thinker and can surprise yourself and the
  others with the new stuff you come up with;
- As a developer, you are familiar with the concepts of software
  quality assurance and can test your own and other’s code against
  best-practice standards.

So after what we expect from you, here's a list of the things you can
expect from us:

- You can expect a competitive compensation package, including health
  and other benefits;
- A multi-national team of talented and passionate engineers;
- Friendly and casual working environment;
- Flexible working hours;
- Canteen with refreshments for those times when you really need some;
- Working from home option on certain occasions;
- The opportunity to explore Malaysia, an exciting destination.
- Work permit and relocation assistance.

Please visit 
http://www.regentmarkets.com/careersfor
further
information about the company and the job opportunities.

If you think you can be a good match for our company, drop us a line
along with your resume. While not mandatory here's a list of the things
we might be really interested in:

- Projects you have been involved in;
- If you have any public repositories on places such as github, please
  provide a link to them;
- Contributions you might have made to open-source projects such as
  providing patches, new features,...
- Anything that gives us a better picture of who you are and what you
  do.

Please feel free to forward this email to any person who you think
might fit the profile we are looking for.

Many thanks and best regards,

Jean-Yves Sireau
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Coro

2012-08-15 Por tôpico Stanislaw Pusep
Acho que não...
Tinha o teor desse artigo:
http://blog.64p.org/entry/20090630/1246324092 (repare
na frase "Coro is black magic.") :/
Mas creio que achei outro tipo de resposta para o que estava procurando,
"time-sliced multitasking using interval timers":

# "timeslice" the given block
sub timeslice(&) {
   use Time::HiRes ();

   Coro::on_enter {
  # on entering the thread, we set an VTALRM handler to cede
  $SIG{VTALRM} = sub { cede };
  # and then start the interval timer
  Time::HiRes::setitimer &Time::HiRes::ITIMER_VIRTUAL, 0.01, 0.01;
   };
   Coro::on_leave {
  # on leaving the thread, we stop the interval timer again
  Time::HiRes::setitimer &Time::HiRes::ITIMER_VIRTUAL, 0, 0;
   };

   &{+shift};
}

# use like this:
timeslice {
   # The following is an endless loop that would normally
   # monopolise the process. Since it runs in a timesliced
   # environment, it will regularly cede to other threads.
   while () { }
};

ABS()



2012/8/15 breno 

> Vc se refere a isso?
>
> https://metacpan.org/module/Coro::State#MODEL
>
> []s
>
> -b
>
> 2012/8/14 Stanislaw Pusep :
> > Pessoas, eu lembro como se fosse ontem que em algum lugar da documentação
> > (https://metacpan.org/module/Coro) havia uma referência descrevendo
> como o
> > Coro foi implementado... Não estou conseguindo mais achar :(
> > Alguém lembra/sabe?
> >
> > ABS()
> >
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] Coro

2012-08-14 Por tôpico Stanislaw Pusep
Pessoas, eu lembro como se fosse ontem que em algum lugar da documentação (
https://metacpan.org/module/Coro) havia uma referência descrevendo como o
Coro foi implementado... Não estou conseguindo mais achar :(
Alguém lembra/sabe?

ABS()
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] lista.

2012-07-18 Por tôpico Stanislaw Pusep
++Russoz

Só um pequeno detalhe que me incomoda... Do ponto de vista gramatical, o
seu texto está conciso; todavia, o termo "PROgenitora", apesar de
frequentemente empregado para designar "mãe", no seu sentido estritamente
biológico significa "avó". Isso é, já que "mãe" é sinônimo de "genitora",
PRO-genitora seria "genitora da mãe", ou seja, "avó".
E "vadia" é uma palavra muito ambigua, acredito que "meretriz" qualifique
melhor a personagem.

ABS()



2012/7/18 Alexei Znamensky 

>
>
> 2012/7/18 Leo Balter 
>
>> Desde quando a lista passou a ser "caçadores da
>> gramática perdida"?
>>
>
> Setembro de 1998. Era uma noite chuvosa na Cidade Maravilhosa - algo muito
> incomum naquela época do ano. Jack estava à espera de um amigo no ponto de
> ônibus quando a moça se aproximou e pediu: "taca fogo nimim". Nesse
> momento, vindos de lugar algum, seis figuras encapuzadas, com um "G" enorme
> no peito, apareceram e começaram a espancar a moça. "NIMIM?? NIMIIIMM???
> MAS QUE PORRA É ESSA, NIMIM TACA TACA É A PROGENITORA QUE A
> CONCEBEU, SUA VADIA". A cena brutal horrorizou Jack, que ainda tentou
> acalmar os ânimos: "Porra, mermão, não faz isso com a moça". O golpe
> certeiro o acertou na nuca, deixando-o desconcertado. Alguns chutes no
> abdômen depois, mais um golpe na nuca o deixou desacordado de vez. Quando
> acordou, sangrando e humilhado, em um pedaço rasgado de caixa de cigarro
> estava escrtio: "Mermão é filho da prostituta vossa mãe, Ass: Caçadores da
> Gramática".
>
>
>>
>>
>>
>> Leo Balter - via mobile
>>
>> Em 18/07/2012, às 19:56, German Valenzuela 
>> escreveu:
>>
>> Marcio,
>>
>> eu aceito as desculpas, e parabéns pela humildade de apresentar o pedido
>> de desculpas.
>>
>> 2012/7/18 astec 
>>
>>> **
>>> Vc não notou que ele tb esqueceu de colocar  "n" antes do "T" e após o
>>> "A".
>>> A leitura correta é: " Marketing - Portal das Antas"
>>>
>>> êitaaa mundo bão
>>>
>>> JCIS
>>>
>>> - Original Message -
>>> *From:* Marcio Ferreira 
>>> *To:* Perl Mongers Rio de Janeiro 
>>> *Sent:* Wednesday, July 18, 2012 5:35 PM
>>> *Subject:* Re: [Rio-pm] lista.
>>>
>>> Antes, faça um curso de pt-br, aprender nunca é "dimais" e sim demais!
>>>
>>> (desculpe, não pude evitar o trocadilho =P)
>>>
>>> []s,
>>>
>>> Marcio Ferreira
>>> @_marcioferreira
>>> (11) 8567-1482   skype: marcio.ferreir4
>>> marciodesouzaferreira.blogspot.com
>>>
>>>
>>>
>>> 2012/7/18 Marketing - Portal das Atas 
>>>
 Olá boa tarde, entrei na lista com o intuito de divulgar cursos da
 escola na qual eu trabalho, acho que informação nunca é dimais, não sabia
 que iria desacatar qualquer uma de suas políticas, caso não seja
 conveniente as informações por mim passadas, podem me excluir da lista,
 desde já peço desculpas deixando claro que não fiz de má fé.

 grato.
 __**_
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/**listinfo/rio-pm

>>>
>>>  --
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>>
>> --
>> German Alejandro Valenzuela Egas
>> 21.8053.6669
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Alexei "RUSSOZ" Znamensky | russoz EM gmail com | http://russoz.org
> GPG fingerprint = 42AB E78C B83A AE31 7D27  1CF3 C66F B5C7 71CA 9F3C
> http://www.flickr.com/photos/alexeiz | http://github.com/russoz
> "I don't know... fly casual!" -- Han Solo
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] :engine::TRE

2012-07-04 Por tôpico Stanislaw Pusep
A quem interessar, duas notícias.
A boa é que o re::engine::TRE foi desenterrado e ressuscitado:
https://metacpan.org/module/re::engine::TRE
A ruim é que o coveiro e o Dr. Frankenstein na mesma pessoa "soy jo".

ABS()



On Thu, Jun 28, 2012 at 6:20 PM, Stanislaw Pusep wrote:

> Perlssoal, esses dias me deparei com a biblioteca TRE (
> http://laurikari.net/tre/about/):
>
> TRE is a lightweight, robust, and efficient POSIX compliant regexp
>> matching library with some exciting features such as approximate (fuzzy)
>> matching.
>
>
> Um dos exemplos de aplicação prática dela é o utilitário 'agrep'
> (approximate grep).
> Obviamente, tentei compilar a interface para Perl (
> https://github.com/avar/re-engine-tre). Porém esse módulo não está no
> CPAN, e me parece bastante desatualizado.
> De fato, não compila. retorna erros como:
>
> cc -c  -Itre -fno-strict-aliasing -pipe -fstack-protector
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
> -DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" -fPIC
> "-I/home/stas/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/x86_64-linux/CORE"
>   TRE.c
> In file included from TRE.xs:7:0:
> TRE.h:22:5: warning: initialization from incompatible pointer type
> [enabled by default]
> TRE.h:22:5: warning: (near initialization for ‘engine_tre.comp’) [enabled
> by default]
> TRE.xs: In function ‘TRE_comp’:
> TRE.xs:42:7: error: ‘REGEXP’ has no member named ‘refcnt’
> TRE.xs:43:7: error: ‘REGEXP’ has no member named ‘extflags’
> TRE.xs:44:7: error: ‘REGEXP’ has no member named ‘engine’
> TRE.xs:47:7: error: ‘REGEXP’ has no member named ‘prelen’
> ...
>
> Analisando outros módulos do namespace re::engine::* (RE2, PCRE, Plan9),
> percebi que a struct REGEXP em questão é recorrente. Aliás,
> re::engine::Plan9 não compila por causa do mesmo erro.
> E, infelizmente, o nome REGEXP é ambíguo demais para googlar :(
> Alguém faz alguma ideia do que esteja acontecendo?
>
> ABS()
>
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] :engine::TRE

2012-07-02 Por tôpico Stanislaw Pusep
Só um parênteses: eu usaria o String::Approx[1] ou o re::engine::TRE[2] no
lugar do String::Trigram[3], que é extremamente veloz porém voraz no
quesito de RAM. Esses 3 módulos seriam apropriados para fuzzy match de uma
string em lista de strings.
Já o String::Similarity[4] é muito bom para comparar 2 strings, mas não é a
coisa mais eficiente para aplicar a listas.
Frequentemente uso o Text::Fingerprint[5] como "versão light" do
Text::Soundex[6] (com elementos de String::Trigram :P).
Recomendo o artigo do Blabos[7] e de um computeiro russo[8] (outro russo) a
todos que trabalharem com strings imprecisas :)

[1] https://metacpan.org/module/String::Approx
[2] https://github.com/avar/re-engine-tre
[3] https://metacpan.org/module/String::Trigram
[4] https://metacpan.org/module/String::Similarity
[5] https://metacpan.org/module/Text::Fingerprint
[6] https://metacpan.org/module/Text::Soundex
[7] http://blog.blabos.org/2008/12/faxina-depois-da-festa/
[8] http://ntz-develop.blogspot.com.br/2011/03/fuzzy-string-search.html

ABS()



2012/7/2 

>   usamos por aqui
>
> use Text::DoubleMetaphone qw( double_metaphone ); # casamento fonetico
>
> use String::Approx 'adist';
>
>  *From:* Stanislaw Pusep 
> *Sent:* Monday, July 02, 2012 9:24 AM
> *To:* Perl Mongers Rio de Janeiro 
> *Cc:* saopaulo...@mail.pm.org
> *Subject:* Re: [Rio-pm] :engine::TRE
>
> Bom dia Thiago!
> Obrigado pela dica, não conhecia o String::Approx. Pelo meu rápido RTFS,
> usa o mesmo algoritmo que o re::engine::TRE (
> https://en.wikipedia.org/wiki/Bitap).
> Também fiz a coisa mais óbvia, que devia ter feito antes de mandar o email
> para a lista: olhei no CPAN Testers, e percebi que o módulo em questão só
> funcionava até Perl v5.10. Entrei em contato com o autor, e ele confirmou
> que as "entranhas" do Perl tornaram-se incompatíveis a partir do v5.12.
> Verei o que faço a respeito; o módulo me pareceu deveras útil.
>
> ABS()
>
>
>
> 2012/6/29 Thiago Glauco 
>
>> Eu uso
>>   use String::Approx 'amatch';
>>
>>   print if amatch("foobar");
>>
>>   my @matches = amatch("xyzzy", @inputs);
>>
>>   my @catches = amatch("plugh", ['2'], @inputs);
>>
>>
>> Em Qui, 2012-06-28 às 18:20 -0300, Stanislaw Pusep escreveu:
>> >
>> > Um dos exemplos de aplicação prática dela é o utilitário
>> > 'agrep' (approximate grep).
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> --
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] :engine::TRE

2012-07-02 Por tôpico Stanislaw Pusep
Bom dia Thiago!
Obrigado pela dica, não conhecia o String::Approx. Pelo meu rápido RTFS,
usa o mesmo algoritmo que o re::engine::TRE (
https://en.wikipedia.org/wiki/Bitap).
Também fiz a coisa mais óbvia, que devia ter feito antes de mandar o email
para a lista: olhei no CPAN Testers, e percebi que o módulo em questão só
funcionava até Perl v5.10. Entrei em contato com o autor, e ele confirmou
que as "entranhas" do Perl tornaram-se incompatíveis a partir do v5.12.
Verei o que faço a respeito; o módulo me pareceu deveras útil.

ABS()



2012/6/29 Thiago Glauco 

> Eu uso
>   use String::Approx 'amatch';
>
>   print if amatch("foobar");
>
>   my @matches = amatch("xyzzy", @inputs);
>
>   my @catches = amatch("plugh", ['2'], @inputs);
>
>
> Em Qui, 2012-06-28 às 18:20 -0300, Stanislaw Pusep escreveu:
> >
> > Um dos exemplos de aplicação prática dela é o utilitário
> > 'agrep' (approximate grep).
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] :engine::TRE

2012-06-28 Por tôpico Stanislaw Pusep
Perlssoal, esses dias me deparei com a biblioteca TRE (
http://laurikari.net/tre/about/):

TRE is a lightweight, robust, and efficient POSIX compliant regexp matching
> library with some exciting features such as approximate (fuzzy) matching.


Um dos exemplos de aplicação prática dela é o utilitário 'agrep'
(approximate grep).
Obviamente, tentei compilar a interface para Perl (
https://github.com/avar/re-engine-tre). Porém esse módulo não está no CPAN,
e me parece bastante desatualizado.
De fato, não compila. retorna erros como:

cc -c  -Itre -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
-DVERSION=\"0.04\" -DXS_VERSION=\"0.04\" -fPIC
"-I/home/stas/perl5/perlbrew/perls/perl-5.14.2/lib/5.14.2/x86_64-linux/CORE"
  TRE.c
In file included from TRE.xs:7:0:
TRE.h:22:5: warning: initialization from incompatible pointer type [enabled
by default]
TRE.h:22:5: warning: (near initialization for ‘engine_tre.comp’) [enabled
by default]
TRE.xs: In function ‘TRE_comp’:
TRE.xs:42:7: error: ‘REGEXP’ has no member named ‘refcnt’
TRE.xs:43:7: error: ‘REGEXP’ has no member named ‘extflags’
TRE.xs:44:7: error: ‘REGEXP’ has no member named ‘engine’
TRE.xs:47:7: error: ‘REGEXP’ has no member named ‘prelen’
...

Analisando outros módulos do namespace re::engine::* (RE2, PCRE, Plan9),
percebi que a struct REGEXP em questão é recorrente. Aliás,
re::engine::Plan9 não compila por causa do mesmo erro.
E, infelizmente, o nome REGEXP é ambíguo demais para googlar :(
Alguém faz alguma ideia do que esteja acontecendo?

ABS()
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Vario processos

2012-06-22 Por tôpico Stanislaw Pusep
http://perldoc.perl.org/perlipc.html#Interactive-Client-with-IO%3a%3aSocket

ABS()



2012/6/22 Aureliano Guedes 

>  Ola, Monges.
>
> Eu desenvolvi dois scripts, um para pegar as conversas de um chat e outro
> para postar alguma mensagem em um chat.
> Eu logo em um chat e via metodo post (usando WWW::Mechanize) envio as
> mensagens, e dentro de um loop infinito eu vou pegando cada
> postagem que fazem dentro do chat.
>
> O problema é, ou eu coloco em programas separados ou eu deixo uma das
> subrotinas desativada.
>
> Eu queria poder fazer ambos simultaneamente, para isso pensei em usar o
> AnyEvent, mas vi que não iria adiantar.
> logo achei o *Curses::UI  *mas
> não consegui entender direito seu uso.
>
> Alguem poderia me dar alguma dica de como fazer??
>
> Pensei em ate Tk, mas não sou muito bom com a parte grafica e mesmo assim
> não sei como deixar independente.
>
> Desde já, grato.
>
> Att,
> Aureliano Guedes.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] duvida subprocesso e nice

2012-06-13 Por tôpico Stanislaw Pusep
Não tenho certeza disso, mas, pela minha experiência com o ffmpeg, ele
tende a aproveitar todos os processadores do sistema, via threads. Os
threads em si tem prioridade normal, já o "coordenador" dos mesmos pode
muito bem se auto-aplicar nice bem baixo.
Posso estar confundindo com outro programa que faz isso :/

ABS()



2012/6/13 cicero.schons 

> Ou pode trabalhar os momentos ociosos do servidor, e alterar com
> renice um processo em andamento.
>
> Em 13 de junho de 2012 11:55, Tiago Peczenyj
>  escreveu:
> > Não tinha pensando nisso.
> >
> > 2012/6/13 Alexei Znamensky :
> >> Talvez o ffmpeg se auto-renice-eie?
> >>
> >> 2012/6/13 Tiago Peczenyj 
> >>>
> >>> Ola
> >>>
> >>> Tenho um script danadinho em perl que é chamado pela crontab. Ele abre
> >>> um subprocesso para executar o ffmpeg (e fazer algum encoding de
> >>> video) via open (assim eu posso ler a stdout e monitorar o progresso).
> >>>
> >>> Esta acontecendo algo estranho: rodando em um FreeBSD eu vejo o perl
> >>> rodando com nice 0 e o ffmpeg esta rodando com nice 20. WTF? Eu não
> >>> estou alterando o nice do processo em momento algum! Inclusive eu
> >>> tentei executar informando um valor diferente de nice (5 por exemplo)
> >>> mas no top eu só vejo 20.
> >>>
> >>> Pode ser que tenha algum daemon que faça isso sem que eu veja, não
> >>> descarto esta possibilidade, mas isso é o esperado? deveria rodar o
> >>> ffmpeg com nice 0 tb, não? É perl 5.12 e não fui eu que fiz (nem tem
> >>> chamas explicitas a nice ou Posix::nice).
> >>>
> >>> Alguma ideia?
> >>>
> >>> --
> >>> Tiago B. Peczenyj
> >>> Linux User #405772
> >>>
> >>> http://pacman.blog.br
> >>> ___
> >>> Rio-pm mailing list
> >>> Rio-pm@pm.org
> >>> http://mail.pm.org/mailman/listinfo/rio-pm
> >>
> >>
> >>
> >>
> >> --
> >> Alexei "RUSSOZ" Znamensky | russoz EM gmail com | http://russoz.org
> >> GPG fingerprint = 42AB E78C B83A AE31 7D27  1CF3 C66F B5C7 71CA 9F3C
> >> http://www.flickr.com/photos/alexeiz | http://github.com/russoz
> >> "I don't know... fly casual!" -- Han Solo
> >>
> >> ___
> >> Rio-pm mailing list
> >> Rio-pm@pm.org
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >
> >
> >
> > --
> > Tiago B. Peczenyj
> > Linux User #405772
> >
> > http://pacman.blog.br
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] MakeFile

2012-06-07 Por tôpico Stanislaw Pusep
Dist::Zilla utiliza como README.txt a transcrição plaintext do POD do
package principal da distribuição.

ABS()



2012/6/7 Fernando Corrêa de Oliveira 

> Provavelmente oq vc tá procurando seja POD.
> Just Another Perl Hacker
> Fernando Corrêa de Oliveira
> fernandocor...@gmail.com
>
> Em 07/06/2012, às 13:54, Aureliano Guedes escreveu:
>
> Assim, toda distribuição, quando o autor submete ao CPAN, tem uma
> documentação. Essa documentação vai junto ao *.tar.gz?? Ela é o arquivo
> README, certo??
> Tem alguma formatação especial para o arquivo README ou eu posso escrever
> essa documentação da forma que eu preferir??
> Ela precisa estar em formato html ou pode ser escrito normal?
>
> > Date: Wed, 6 Jun 2012 21:29:58 -0300
> > From: br...@rio.pm.org
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] MakeFile
> >
> > 2012/6/6 Aureliano Guedes :
> > > Breno, desculpa por não ter detalhado o erro.
> > >
> > > So minha ultima pergunta, o arquivo README, é so simplesmente escrever
> e
> > > colocalo na mesma pasta lib onde esta o modulo ou tem algo a mais em
> > > especial nele,
> > > exemplo, formatação, uso de um modulo para escreve-lo, etc...
> > >
> >
> > Do que você está falando? Lembra que não estamos aí do seu lado e nem
> > fazemos idéia do que vc quer fazer (eu, pelo menos, não faço idéia =)
> >
> >
> > []s
> >
> > -b
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] MakeFile

2012-06-03 Por tôpico Stanislaw Pusep
s
>> arquivos pra vc. Depois digite "make manifest" e "make dist" e vc terá
>> um Minha-Dist-0.01.tar.gz te esperando, pronto pra ser instalado =)
>>
>> Algumas observações sobre o Makefile.PL acima:
>>
>> * "name" indica o nome da distribuição. A convenção é que vc use o
>> mesmo nome do seu módulo base, o principal da sua distribuição (e que
>> provavelmente a maioria das pessoas vai usar primeiro). No seu caso,
>> suponho que o melhor "name" para a sua distribuição seria "MeuModulo".
>>
>> * "all_from" indica de onde o Makefile.PL deve extrair informações
>> como versão, licença, autor, resumo, etc. Ele extrai essa informação
>> de variáveis especiais de módulos (como "our $VERSION") e da
>> documentação - então não esqueça de incluir os campos pertinentes na
>> documentação (sempre uma boa prática!) ou terá que inclui-los
>> explicitamente no Makefile.PL.
>>
>> Digamos que os módulos da sua distribuição dependam dos seguintes
>> módulos EXTERNOS: File::Spec e Carp. Digamos ainda que, embora não
>> seja uma dependência direta, se o usuário tiver instalado o módulo
>> Data::Printer o seu programa consegue fazer alguma outra coisa bacana,
>> então embora não seja obrigatório vc gostaria de recomendar o
>> Data::Printer. Adicionar essas dependências no Makefile.PL é simples,
>> ele fica assim:
>>
>> ---8<---
>> use inc::Module::Install;
>>
>> name'Minha-Dist';
>> all_from  'lib/MeuModulo.pm';
>>
>> requires 'File::Spec' => 0;
>> requires 'Carp' => 0;
>>
>> recommends 'Data::Printer' => 0.3;
>>
>> WriteAll;
>> --->8---
>>
>> O número depois da "=>" indica a versão mínima do módulo, usamos zero
>> (0) para indicar que qualquer versão serve.
>>
>> Com isso acho que vc já tem o suficiente. Não esqueça de criar um
>> diretório "t" na raiz da sua distribuição para colocar os testes de
>> seus módulos!! Mais sobre o M:I vc encontra na documentação
>> (https://metacpan.org/module/Module::Install)
>>
>> Obs: quando criamos um novo módulo, há alguns "boilerplates" que criam
>> as estruturas e documentações básicas para vc. Eu particularmente
>> gosto do Module::Starter, com o plugin Module::Starter::PBP (mas eu
>> modifico os templates em ~/.module-starter/PBP para conter o esqueleto
>> que uso). Assim, basta escrever na linha de comando:
>>
>> $ module-starter --module="Meu::Novo::Modulo"
>>
>> e ele cria tudo para mim.
>>
>> Quando vc estiver acostumado a criar suas distribuições e entender o
>> processo, vai começar a ficar preguiçoso. Aí sim, dê uma olhada no
>> Dist::Zilla e veja se ele é para vc =)
>>
>>
>> []s
>>
>> -b
>>
>> 2012/6/2 Stanislaw Pusep :
>> > A resposta é: Dist::Zilla.
>> > Pode parecer chatinho de aprender, mas, uma vez sabendo o básico, criar
>> > módulo com Makefile.PL completo e suíte de testes é dois palitos!
>> > Recomendo:
>> >
>> > http://sao-paulo.pm.org/artigo/2011/OhnoItsDistZilla
>> > http://sao-paulo.pm.org/equinocio/2011/set/2
>> >
>> > ABS()
>> >
>> >
>> >
>> > 2012/6/2 Aureliano Guedes 
>> >>
>> >> Ola,
>> >> Monges.
>> >>
>> >> Eu estou tentando gerar um MakeFile.PL mas estou com um problema.
>> >> Eu andei lendo, inclusive alguns materiais do Hernan Lopes mas ficou
>> uma
>> >> pergunta.
>> >>
>> >> Quando eu tenho varios modulos que na verdade sao dependencia de outro
>> >> modulo.
>> >> exemplo:
>> >> MeuModulo.pm,
>> >> MeuModulo/Modulo1.pm,
>> >> MeuModulo/Modulo2.pm.
>> >>
>> >> Como faco?
>> >>
>> >> Nao achei nenhuma opcao no ExtUtils::MakeMaker.
>> >>
>> >> Desde ja, obrigado.
>> >> Att,
>> >>
>> >> Aureliano Guedes
>> >>
>> >> PS: Desculpem a falta de acentos, o teclado esta desconfigurado.
>> >>
>> >> ___
>> >> Rio-pm mailing list
>> >> Rio-pm@pm.org
>> >> http://mail.pm.org/mailman/listinfo/rio-pm
>> >
>> >
>> >
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Alexei "RUSSOZ" Znamensky | russoz EM gmail com | http://russoz.org
> GPG fingerprint = 42AB E78C B83A AE31 7D27  1CF3 C66F B5C7 71CA 9F3C
> http://www.flickr.com/photos/alexeiz | http://github.com/russoz
> "I don't know... fly casual!" -- Han Solo
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] MakeFile

2012-06-02 Por tôpico Stanislaw Pusep
A resposta é: Dist::Zilla.
Pode parecer chatinho de aprender, mas, uma vez sabendo o básico, criar
módulo com Makefile.PL completo e suíte de testes é dois palitos!
Recomendo:

http://sao-paulo.pm.org/artigo/2011/OhnoItsDistZilla
http://sao-paulo.pm.org/equinocio/2011/set/2

ABS()



2012/6/2 Aureliano Guedes 

>  Ola,
> Monges.
>
> Eu estou tentando gerar um MakeFile.PL mas estou com um problema.
> Eu andei lendo, inclusive alguns materiais do Hernan Lopes mas ficou uma
> pergunta.
>
> Quando eu tenho varios modulos que na verdade sao dependencia de outro
> modulo.
> exemplo:
> MeuModulo.pm,
> MeuModulo/Modulo1.pm,
> MeuModulo/Modulo2.pm.
>
> Como faco?
>
> Nao achei nenhuma opcao no ExtUtils::MakeMaker.
>
> Desde ja, obrigado.
> Att,
>
> Aureliano Guedes
>
> PS: Desculpem a falta de acentos, o teclado esta desconfigurado.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
Em bash, pelo menos, teria que rodar como:

perl -MEnglish -lnE'$m{$`}{$POSTMATCH}=/;/;$,=$&}{say
X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt

ABS()



On Fri, Jun 1, 2012 at 1:31 PM, Fernando Oliveira
wrote:

> C:\>perl -lnE"$m{$`}{$'}=/;/;$,=$&}{say
> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a" tabela.txt
>
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> 2012/6/1 Fernando Oliveira 
>
>> bom... aqui no windows funfa... :P
>> no windows eu to usando o "" no -e...
>>
>>
>>
>> Just another Perl Hacker,
>> Fernando (SmokeMachine)
>>
>>
>> 2012/6/1 breno 
>>
>>> Ha! Alguém consegue usar $' na shell sem escapar?
>>>
>>>
>>>
>>> On Fri, Jun 1, 2012 at 1:24 PM, Stanislaw Pusep wrote:
>>>
>>>> C:\> :(
>>>>
>>>> ABS()
>>>>
>>>>
>>>>
>>>> On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira <
>>>> fernandocor...@gmail.com> wrote:
>>>>
>>>>> C:\>perl -lnE"/;/;$,=$&;++$m{$`}{$'}}{say
>>>>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a" tabela.txt
>>>>> X;Joao;Pedro;Manoel
>>>>> Joao;;1;
>>>>> Pedro;;;1
>>>>> Manoel;;1;
>>>>>
>>>>>
>>>>>
>>>>> Just another Perl Hacker,
>>>>> Fernando (SmokeMachine)
>>>>>
>>>>>
>>>>> 2012/6/1 breno 
>>>>>
>>>>>> perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=";";say
>>>>>>
>>>>>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt
>>>>>>
>>>>>
>>>>>
>>>>> ___
>>>>> Rio-pm mailing list
>>>>> Rio-pm@pm.org
>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>
>>>>
>>>>
>>>> ___
>>>> Rio-pm mailing list
>>>> Rio-pm@pm.org
>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>
>>>
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
C:\> :(

ABS()



On Fri, Jun 1, 2012 at 1:23 PM, Fernando Oliveira
wrote:

> C:\>perl -lnE"/;/;$,=$&;++$m{$`}{$'}}{say
> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a" tabela.txt
> X;Joao;Pedro;Manoel
> Joao;;1;
> Pedro;;;1
> Manoel;;1;
>
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> 2012/6/1 breno 
>
>> perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=";";say
>>
>> X=>@a=keys%m;say$_,@{$m{$_}}{@a}for@a' tabela.txt
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
menor ainda ;)

perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{$,=";";say X=>keys%m;say
$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

ABS()



2012/6/1 Fernando Oliveira 

> menor:
>
> perl
> -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=";";say"",keys%l;say$_,@{$c{$_}}[values%l]for
> keys%c' tabela.txt
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> Em 1 de junho de 2012 12:56, Fernando Oliveira 
> escreveu:
>
> Menor:
>>
>> perl
>> -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=";";say"",sort{$l{$a}<=>$l{$b}}keys%l;say$_,@{$c{$_}}[0..keys%l]for
>> keys%c' tabela.txt
>>
>>
>>
>>
>> Just another Perl Hacker,
>> Fernando (SmokeMachine)
>>
>>
>> Em 1 de junho de 2012 12:34, Fernando Oliveira 
>> escreveu:
>>
>> s/exita/exista/
>>>
>>>
>>>
>>>
>>> Just another Perl Hacker,
>>> Fernando (SmokeMachine)
>>>
>>>
>>> Em 1 de junho de 2012 12:32, Fernando Oliveira >> > escreveu:
>>>
>>> Assumindo q exita o arquivo: tabela.txt
>>>> contendo:
>>>>
>>>> Manoel;Pedro
>>>> Joao;Pedro
>>>> Pedro;Manoel
>>>>
>>>> GOLF?!
>>>> minha 1a tacada:
>>>>
>>>> perl
>>>> -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{say";",join(";",sort{$l{$a}<=>$l{$b}}keys%l);say
>>>> join";",$_,@{$c{$_}}[0..keys%l]for keys%c' tabela.txt
>>>>
>>>>
>>>> Just another Perl Hacker,
>>>> Fernando (SmokeMachine)
>>>>
>>>>
>>>> Em 1 de junho de 2012 12:00, Stanislaw Pusep escreveu:
>>>>
>>>> @breno, infelizmente, se for um "CSV" gerado por algumas ferramentas de
>>>>> escritório cujo nome não quero citar nessa lista, expressão regular não
>>>>> basta, já dizia o brian d foy:
>>>>> http://www.effectiveperlprogramming.com/blog/1386
>>>>> @cleysinho, bacana o Class:CSV, pelo que entendi, é uma interface
>>>>> "user-friendly" para o Text::CSV que, apesar de funcionar muito bem, é
>>>>> bastante prolixo. Um módulo que tentei usar recentemente é o Parse::CSV,
>>>>> porém ele, como já diz o nome, apenas lê o CSV (também via Text::CSV).
>>>>>
>>>>> ABS()
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2012/6/1 breno 
>>>>>
>>>>>> 2012/6/1 Manoel Domingues Junior :
>>>>>> > Olá pessoal,
>>>>>> >
>>>>>> > Estou com um dificuldade em encontrar um módulo no cpan que me
>>>>>> ajude a
>>>>>> > fazer a geração de uma matriz...
>>>>>> >
>>>>>> > Eu obtenho os dados de um software no seguinte formato:
>>>>>> > Manoel;Pedro
>>>>>> > João;Pedro
>>>>>> > Pedro;Manoel
>>>>>> > 
>>>>>> >
>>>>>> > Esses dados eu gostaria de colocar em uma matriz do tipo:
>>>>>> > X; Pedro;Manoel;
>>>>>> > Manoel; 1;;
>>>>>> > João;1;;
>>>>>> > Pedro;;1;
>>>>>> >
>>>>>> > Alguém conhece algum módulo que me permita fazer isso?
>>>>>> >
>>>>>>
>>>>>> Manoel,
>>>>>>
>>>>>> desculpa a pergunta, mas "isso" o quê? Pode ser pq ainda não acordei
>>>>>> direito, mas não entendi o que vc está fazendo...
>>>>>>
>>>>>> Supondo que vc tem uma lista na forma:
>>>>>>
>>>>>> my @linhas = (
>>>>>>'Manoel;Pedro',
>>>>>>'João;Pedro',
>>>>>>'Pedro;Manoel',
>>>>>> );
>>>>>>
>>>>>> você pode gerar uma nova lista fazendo algo como:
>>>>>>
>>>>>> my @nova = ();
>>>>>>
>>>>>> foreach my $linha (@linhas) {
>>>>>>my @campos = split /\s*;\s*/ => $linha;
>>>>>>
>>>>>># modifique @campos como bem entender...
>>>>>>
>>>>>>push @nova, join ';' => @campos;
>>>>>> }
>>>>>>
>>>>>> é isso?
>>>>>>
>>>>>>
>>>>>> []s
>>>>>>
>>>>>> -b
>>>>>> ___
>>>>>> Rio-pm mailing list
>>>>>> Rio-pm@pm.org
>>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>>
>>>>>
>>>>>
>>>>> ___
>>>>> Rio-pm mailing list
>>>>> Rio-pm@pm.org
>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>
>>>>
>>>>
>>>
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
Mas é claro!

perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{$,=";";say X=>keys%m;say
$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

ABS()



On Fri, Jun 1, 2012 at 1:03 PM, Fernando Oliveira
wrote:

> perl -F\; -lanE'++$m{$F[0]}{$F[1]}}{say join";",X=>keys%m;say
> join";",$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt
>
>
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> Em 1 de junho de 2012 13:00, Stanislaw Pusep escreveu:
>
>  perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{say join";",X=>keys%m;say
>> join";",$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
perl -F\; -anE'chomp$F[1];++$m{$F[0]}{$F[1]}}{say join";",X=>keys%m;say
join";",$_,@{$m{$_}}{keys%m}for keys%m' tabela.txt

ABS()



2012/6/1 Fernando Oliveira 

> Menor:
>
> perl
> -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{$,=";";say"",sort{$l{$a}<=>$l{$b}}keys%l;say$_,@{$c{$_}}[0..keys%l]for
> keys%c' tabela.txt
>
>
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> Em 1 de junho de 2012 12:34, Fernando Oliveira 
> escreveu:
>
> s/exita/exista/
>>
>>
>>
>>
>> Just another Perl Hacker,
>> Fernando (SmokeMachine)
>>
>>
>> Em 1 de junho de 2012 12:32, Fernando Oliveira 
>> escreveu:
>>
>> Assumindo q exita o arquivo: tabela.txt
>>> contendo:
>>>
>>> Manoel;Pedro
>>> Joao;Pedro
>>> Pedro;Manoel
>>>
>>> GOLF?!
>>> minha 1a tacada:
>>>
>>> perl
>>> -lnE'/;/;$l{$'}//=$i++;$c{$`}=[];$c{$`}[$l{$'}]=1}{say";",join(";",sort{$l{$a}<=>$l{$b}}keys%l);say
>>> join";",$_,@{$c{$_}}[0..keys%l]for keys%c' tabela.txt
>>>
>>>
>>> Just another Perl Hacker,
>>> Fernando (SmokeMachine)
>>>
>>>
>>> Em 1 de junho de 2012 12:00, Stanislaw Pusep escreveu:
>>>
>>> @breno, infelizmente, se for um "CSV" gerado por algumas ferramentas de
>>>> escritório cujo nome não quero citar nessa lista, expressão regular não
>>>> basta, já dizia o brian d foy:
>>>> http://www.effectiveperlprogramming.com/blog/1386
>>>> @cleysinho, bacana o Class:CSV, pelo que entendi, é uma interface
>>>> "user-friendly" para o Text::CSV que, apesar de funcionar muito bem, é
>>>> bastante prolixo. Um módulo que tentei usar recentemente é o Parse::CSV,
>>>> porém ele, como já diz o nome, apenas lê o CSV (também via Text::CSV).
>>>>
>>>> ABS()
>>>>
>>>>
>>>>
>>>>
>>>> 2012/6/1 breno 
>>>>
>>>>> 2012/6/1 Manoel Domingues Junior :
>>>>> > Olá pessoal,
>>>>> >
>>>>> > Estou com um dificuldade em encontrar um módulo no cpan que me ajude
>>>>> a
>>>>> > fazer a geração de uma matriz...
>>>>> >
>>>>> > Eu obtenho os dados de um software no seguinte formato:
>>>>> > Manoel;Pedro
>>>>> > João;Pedro
>>>>> > Pedro;Manoel
>>>>> > 
>>>>> >
>>>>> > Esses dados eu gostaria de colocar em uma matriz do tipo:
>>>>> > X; Pedro;Manoel;
>>>>> > Manoel; 1;;
>>>>> > João;1;;
>>>>> > Pedro;;1;
>>>>> >
>>>>> > Alguém conhece algum módulo que me permita fazer isso?
>>>>> >
>>>>>
>>>>> Manoel,
>>>>>
>>>>> desculpa a pergunta, mas "isso" o quê? Pode ser pq ainda não acordei
>>>>> direito, mas não entendi o que vc está fazendo...
>>>>>
>>>>> Supondo que vc tem uma lista na forma:
>>>>>
>>>>> my @linhas = (
>>>>>'Manoel;Pedro',
>>>>>'João;Pedro',
>>>>>'Pedro;Manoel',
>>>>> );
>>>>>
>>>>> você pode gerar uma nova lista fazendo algo como:
>>>>>
>>>>> my @nova = ();
>>>>>
>>>>> foreach my $linha (@linhas) {
>>>>>my @campos = split /\s*;\s*/ => $linha;
>>>>>
>>>>># modifique @campos como bem entender...
>>>>>
>>>>>push @nova, join ';' => @campos;
>>>>> }
>>>>>
>>>>> é isso?
>>>>>
>>>>>
>>>>> []s
>>>>>
>>>>> -b
>>>>> ___
>>>>> Rio-pm mailing list
>>>>> Rio-pm@pm.org
>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>
>>>>
>>>>
>>>> ___
>>>> Rio-pm mailing list
>>>> Rio-pm@pm.org
>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>
>>>
>>>
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
@breno, infelizmente, se for um "CSV" gerado por algumas ferramentas de
escritório cujo nome não quero citar nessa lista, expressão regular não
basta, já dizia o brian d foy:
http://www.effectiveperlprogramming.com/blog/1386
@cleysinho, bacana o Class:CSV, pelo que entendi, é uma interface
"user-friendly" para o Text::CSV que, apesar de funcionar muito bem, é
bastante prolixo. Um módulo que tentei usar recentemente é o Parse::CSV,
porém ele, como já diz o nome, apenas lê o CSV (também via Text::CSV).

ABS()



2012/6/1 breno 

> 2012/6/1 Manoel Domingues Junior :
> > Olá pessoal,
> >
> > Estou com um dificuldade em encontrar um módulo no cpan que me ajude a
> > fazer a geração de uma matriz...
> >
> > Eu obtenho os dados de um software no seguinte formato:
> > Manoel;Pedro
> > João;Pedro
> > Pedro;Manoel
> > 
> >
> > Esses dados eu gostaria de colocar em uma matriz do tipo:
> > X; Pedro;Manoel;
> > Manoel; 1;;
> > João;1;;
> > Pedro;;1;
> >
> > Alguém conhece algum módulo que me permita fazer isso?
> >
>
> Manoel,
>
> desculpa a pergunta, mas "isso" o quê? Pode ser pq ainda não acordei
> direito, mas não entendi o que vc está fazendo...
>
> Supondo que vc tem uma lista na forma:
>
> my @linhas = (
>'Manoel;Pedro',
>'João;Pedro',
>'Pedro;Manoel',
> );
>
> você pode gerar uma nova lista fazendo algo como:
>
> my @nova = ();
>
> foreach my $linha (@linhas) {
>my @campos = split /\s*;\s*/ => $linha;
>
># modifique @campos como bem entender...
>
>push @nova, join ';' => @campos;
> }
>
> é isso?
>
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Tratamento de dados para CSV

2012-06-01 Por tôpico Stanislaw Pusep
Vários :)
http://sao-paulo.pm.org/artigo/2011/CSVENTREPIPEEDBMS

ABS()



2012/6/1 Manoel Domingues Junior 

> Olá pessoal,
>
> Estou com um dificuldade em encontrar um módulo no cpan que me ajude a
> fazer a geração de uma matriz...
>
> Eu obtenho os dados de um software no seguinte formato:
> Manoel;Pedro
> João;Pedro
> Pedro;Manoel
> 
>
> Esses dados eu gostaria de colocar em uma matriz do tipo:
> X; Pedro;Manoel;
> Manoel; 1;;
> João;1;;
> Pedro;;1;
>
> Alguém conhece algum módulo que me permita fazer isso?
>
> Abraços
>
> --
> --
> Manoel Domingues Junior
> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar
> dados é o primeiro passo para a comunidade."
> IBM - Prodigy Linux
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] variável $^H no Perl 5.16

2012-05-31 Por tôpico Stanislaw Pusep
É exatamente isso que eu queria saber!!! Valeu!

++breno :D

ABS()



2012/5/31 breno 

> 2012/5/31 Aureliano Guedes :
> > Infelizmente isso foi como andar pra traz, na minha opinião. Eu não sabia
> > disso, alias ainda estou preso no perl 5.14.
> >
>
> Por quê? Como o Stan claramente apontou, é uma variável SOMENTE para
> uso interno. No código demonstrado ele quebrou encapsulamento 2 vezes
> (uma ao mexer no $^H e outra ao futucar no namespace dos outros no %^H
> - e escrevendo, ainda?! Stan malvado! Stan malvado!). A verdade é que
> ele sabia disso e por isso deixou claro que só queria entender o que
> estava acontecendo, e não reclamando da mudança. Se você não modifica
> o fonte do perl ou depura internas do feature.pm, não deveria estar
> usando nada disso. Se, pelo contrário, você está usando a API pública
> (que por sinal não só é mais clara como tem menos caracteres
> envolvidos):
>
>   use feature 'say';
>
> ou
>
>   use feature ':5.10';
>
> ou ainda:
>
>   use v5.14;
>
> tudo continua funcionando normalmente.
>
> > Caso haja algum motivo para essa mudança, quando alguem descobrir me
> > explique.
> >
>
> O Fernando tem razão e isso está relacionado com a nova feature (essa
> sim pública) do 5.16, que ativa somente as features de uma determinada
> versão. Mais especificamente, ao fato de que agora escrever "use
> VERSAO" carrega as features daquela versão sem precisar carregar o
> "feature.pm" (ou o strict.pm, no caso de >= 5.14)
>
> Aos mais curiosos que quiserem continuar lendo, cuidado: algumas
> entranhas serão expostas :)
>
> Antes de começar vale lembrar que estamos falando de duas variáveis
> diferentes, $^H (que contém dicas para o interpretador na forma de
> flags) e %^H (para implementação de pragmas em escopo léxico,
> armazenando valores de estado na optree).
>
> A mudança aconteceu no final do ano passado. A idéia, até onde
> entendi, é que o compilador agora reserva 3 bits no $^H para definição
> dos chamados "feature bundles". Ou seja, se eu tenho "use v5.16" ele
> vai passar a dica que, dentro daquele escopo léxico, somente
> determinadas features estarão ativas. Quais são ativadas e quais não
> são é o que fica nas chaves (privadas) 'feature_X' dentro do %^H.
> Agora, portanto, o $^H precisa indicar ao interpretador se ele deve
> usar as features definidas no %^H ou não. Se você não define, ele
> entende como se não estivesse ativando feature alguma, independente do
> que está no %^H. O valor é 0x1c00 pq "ativa" 3 bits sequenciais em
> binário (11100), usados para definir a máscara
> padrão. Note, por exemplo, que se você colocar em $^H um outro valor
> que também ative a flag de features, elas funcionarão normalmente via
> %^H:
>
> perl -e 'BEGIN { $^H |= 0x1e2aff0d; $^H{feature_say} = 1; }; say $^V'
> v5.16.0
>
> Mais especificamente, se você definir um bundle padrão diferente da
> máscara, ele vai escolher o bundle conforme o valor posicional do
> número deslocado 26 bits para a direita (o tamanho da máscara) em
> @feature::hint_bundles, que hoje vale qw( default 5.10 5.11 5.15 ). Ou
> seja, podemos fazer:
>
> perl -e 'BEGIN { $^H |= 0x0800; $^H{feature_say} = 1; }; say $^V'
> v5.16.0
>
> Já que 0x0800 (hexa) é 1000 (binário) e
> isso >> 26 vale 10 (2, em decimal), indicando que vai usar as features
> do $hint_bundles[2], ou seja, 5.11. Analogamente, não ter a flag
> definida é o mesmo que definir $^H{feature_say} com a máscara
> 'default' (000) ativa.
>
> Na prática, o feature.h (também gerado pelo regen/feature.pl) usa
> essas flags para definir quais features estão ativas em um determinado
> momento (macros FEATURE_BUNDLE_CUSTOM e CURRENT_FEATURE_BUNDLE). Se
> você não usar um feature bundle, ele assume o default, que no momento
> é ativar apenas a feature 'array_base' (independente do que esteja no
> %^H). Outra interessante consequência dessas modificações é permitir
> que uma nova versão do perl desative determinada feature. Por exemplo,
> escrever "use v5.16" desativa a variável $[ (disponível em versões
> anteriores). Caso realmente precise usá-la, basta fazer "use v5.16;
> use feature qw(array_base);"
>
> Quem quiser ver as modificações, estão em torno do commit 23a52d6b1d1.
> Os arquivos pertinentes - lib/feature.pm e feature.h - são gerados
> pelo regen/feature.pl, chamado via regen.pl.
>
> Espero ter ajudado :)
>
> []s
>
> -b
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] variável $^H no Perl 5.16

2012-05-31 Por tôpico Stanislaw Pusep
Pelo que consegui entender até agora, o arquivo responsável pelo pragma
"feature" não é mais mantido manualmente; tem um script que o faz
"automagicamente":

$ head ~/perl5/perlbrew/build/perl-5.16.0/regen/feature.pl
#!/usr/bin/perl
#
# Regenerate (overwriting only if changed):
#
#lib/feature.pm
#feature.h
#
# from information hardcoded into this script and from two #defines
# in perl.h.
#

ABS()



On Thu, May 31, 2012 at 11:30 AM, Fernando Oliveira <
fernandocor...@gmail.com> wrote:

> eu tb não sei, mas deve ter algo com isso:
> http://search.cpan.org/dist/perl-5.16.0/pod/perldelta.pod#use_VERSION
>
>
>
> Just another Perl Hacker,
> Fernando (SmokeMachine)
>
>
> Em 31 de maio de 2012 11:09, Stanislaw Pusep escreveu:
>
>> 0x1c00
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] RPC e Mojolicious

2012-05-31 Por tôpico Stanislaw Pusep
No Mojo, quem define limites é VOCÊ:

$ENV{MOJO_CHUNK_SIZE}   = (2**20)*10;
$ENV{MOJO_MAX_MEMORY_SIZE}  = (2**20)*10;
$ENV{MOJO_MAX_MESSAGE_SIZE} = (2**30);

Uma coisa que realmente ME GUSTA no Mojo é a facilidade de implementar
comunicação via JSON. Do lado do cliente, envio:

POST /echo HTTP/1.1
Content-type: application/json
Content-length: 13

{a:1,b:2,c:3}

E, do lado do servidor, recebo e respondo:

post q(/echo) => sub {
my $self = shift;
my $obj = $self->req->json;
$obj->{status} = q(ok);
$self->render_json($obj);
}

No meu caso, isso é mais do que o suficiente...

ABS()



2012/5/31 Marcos Machado 

> Dei uma olhada no Gearman, muito interessante, Gabriel. Apesar de não se
> aplicar ao meu caso agora, vai ficar no meu radar.
>
> Todos os exemplos do Websockets que encontrei são da salinha de chat. :)
>
> Na verdade preciso de coisas bem mais simples. Tipo consultar uma base de
> autenticação remota via webservice, por exemplo.
>
> Tava conversando com o Fernando ontem e ele me sugeriu usar o próprio
> Mojolicious, chamando via UserAgent métodos específicos do outro lado. Vou
> testar isso.
>
> Eventualmente vou precisar enviar/receber um volume grande de dados
> através desses métodos (por exemplo, transferência de logs). Então vou
> precisar descobrir os limites de tamanho e velocidade com esse método.
>
> Tks!!
>
> []s, MM
>
>
> 2012/5/31 Gabriel Vieira 
>
>> Fiz uma aplicação com Mojolicious + Websocket + Gearman.
>>
>> O usuário solicitava, via websocket, a execução de uma tarefa.
>>
>> O Mojolicious identificava a mensagem e enviava as tarefas pro
>> Gearman, que depois retornava, por WebSocket, os resultados.
>>
>>
>> 2012/5/30 Marcos Machado :
>> > Pessoal,
>> >
>> > Tô prototipando um sisteminha que distribui tarefas e concentra
>> resultados
>> > entre diversos servidores. Como tem uma interface web em cada ponta,
>> estou
>> > usando Mojolicious (que se provou animadoramente simples e rápido para
>> meus
>> > propósitos).
>> >
>> > Pois bem, agora chegou a hora de fazer as partes se falarem e estou na
>> > dúvida do quê usar. Não entendi muito bem a parte de websockets do
>> > Mojolicious então não sei se isso se aplicaria. Tinha na cabeça algo
>> como um
>> > RPC.
>> >
>> > Alguma recomendação de algo bem simples que me permita acessar funções
>> > remotas e transferir coisas básicas de um lado para o outro?
>> >
>> > Não preciso de TLS ou coisas do gênero. Mas uma latência baixa é
>> importante.
>> >
>> > Se tiverem alguma dica, agradeço!
>> >
>> > Um abraço!
>> > MM
>> >
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>> --
>> Gabriel Vieira
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] variável $^H no Perl 5.16

2012-05-31 Por tôpico Stanislaw Pusep
Bom dia, senhores.
A referência oficial ao $^H, no perlvar:
"WARNING: This variable is strictly for internal use only. Its
availability, behavior, and contents are subject to change without notice."
Mais claro, impossível.
Ainda assim, estou tentando entender o que mudou de lá pra cá:

$ perl -e 'BEGIN { $^H{feature_say} = 1; }; say $^V'
v5.14.2

 $ perl -e 'BEGIN { $^H{feature_say} = 1; }; say $^V'
Can't locate object method "say" via package "version" at -e line 1.

Aparentemente, não funciona mais... Mas não é bem assim.
Fuçando um pouco, descobri que precisa do tal de HINT_FEATURE_MASK,
introduzido em 5.15.7 (
https://metacpan.org/diff/file/?target=BINGOS/perl-5.15.7/lib/feature.pm&source=FLORA/perl-5.14.2/lib/feature.pm
)

perldelta refere à definição do valor de HINT_FEATURE_MASK em perl.h:
#define HINT_FEATURE_MASK   0x1c00 /* 3 bits for feature bundles */

Então, para "consertar" o código, basta fazer:

$ perl -e 'BEGIN { $^H |= 0x1c00; $^H{feature_say} = 1; }; say $^V'
v5.16.0

Infelizmente, para mim isso é "black magic". O que exatamente esse valor
faz? Por que não precisava dele antes e agora precisa?

ABS()
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] problemas com modulo

2012-05-31 Por tôpico Stanislaw Pusep
use Moose;

ABS()


2012/5/31 Bruno Buss :
> @Aureliano:
>
> Cara, de boa só vou fazer um comentário em relação ao seu problema...
>
> Esse problema que você teve no seu código, que o Gabriel apontou
> rapidamente, você já tinha cometido antes em outra thread, eu tinha escrito
> um e-mail relativamente longo explicando porque o erro acontecia, inclusive
> com um código em Perl anexo focando apenas no erro, e dizendo como fazer de
> forma correta... Não sei qual é exatamente a sua metodologia de
> aprendizagem, mas você vai ficar cometendo os mesmos erros de novo e de novo
> e de novo e perguntando a mesma coisa?
>
> Só para referência, a outra thread é a "[Rio-pm] Problemas com rawsocket".
>
> [ ]'s
>
> 2012/5/31 Gabriel Vieira 
>>
>> Utilize ini() e end() no lugar de &ini e &end.
>>
>> 2012/5/31 Aureliano Guedes :
>> > Ola monges,
>> >
>> > Estou com um problema estranho.
>> > Estou desenvolvendo um modulo, apenas para estudo de desenvolvimento de
>> > modulos.
>> > É um scanner de portas, onde entra com o link ou IP dai você escolhe a
>> > faixa
>> > de portas, exemplo de 60 a 100
>> > caso contrario, por default ele scaneia de 1 a 5.
>> >
>> > Ai que mora o problema, por algum motivo mesmo eu configurando para
>> > scanear
>> > de 60 a 100 ele continua
>> > scaneando pelas opções de defaut.
>> >
>> > Eu não consegui achar onde errei, por isso venho pedir que alguem de uma
>> > olhadinha e me indique o erro.
>> >
>> > Eis aqui o codigo -> http://pastebin.com/vkqjksvQ
>> >
>> > Desde já grato.
>> >
>> > Att,
>> > Aureliano Guedes.
>> >
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>> --
>> Gabriel Vieira
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Bruno C. Buss
> http://www.brunobuss.net
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Unzip

2012-05-29 Por tôpico Stanislaw Pusep
Também gosto dessa tirinha:

http://imgs.xkcd.com/comics/lisp.jpg

ABS()



2012/5/29 Samir Cury 

> Aureliano, se isso ajuda a te inspirar :
>
> http://imgs.xkcd.com/comics/11th_grade.png
>
> Li essa tirinha em 2006, me inspirei pra tirar um fds so eu e a maquina.
> Hoje em dia olho pra tras e falo - mais verdade impossivel.
>
> O que adiciono a ela e -- mais que 10^6 desafios, mais vale primeiro um
> problema real,  depois os desafios pra agucar a mente.
>
> Abs
>
> 2012/5/29 Aureliano Guedes 
>
>>  Gabriel, obrigado pela ajuda, o seu codigo me ajudou. Em breve posto
>> como ficou. AOS QUE TENTARAM ME AJUDAR OBRIGADO.
>>
>> Bem, eu sou novo tanto na lista quanto em Perl, programo a menos de 1 ano
>> e iniciei com perl, apesar de estar brincando um pouco com C e Python
>> agora, mas Perl é a menina dos meus olhos.
>> Mas não sou programador, nem faço um curso ligado a isso, mas eu gosto de
>> programar e muito, infelizmente me falta tempo para aprender mais.
>> Sim eu li a documentação do IO::Uncompress::Unzip e do Archive::Zip, mas
>> não entendi muito, depois procurei insessantemente por codigos prontos,
>> pois eu aprendo vendo a logica de outros codigos, mas sou burro e não
>> entendi, apenas aprendi a lista os arquivos dentro de um *.zip com o
>> Archive::Zip e extrair um a um com o IO:Uncompress::Unzip, por isso vim
>> pedir ajuda, mas me senti mal agora de ver tanta briga.
>>
>> No mais, não vou perder meu tempo com PHP, eu sou persistente, um dia eu
>> aprendo, mas no meu caso não tenho tanta base quanto a maioria, afinal não
>> tive Algoritimo nem Logica nem Logica de programação, nem nada disso, nem
>> mesmo portugues.
>>
>> --
>> From: leonardo.bal...@gmail.com
>> Date: Tue, 29 May 2012 16:45:15 -0300
>>
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] Unzip
>>
>> Fácil! Só usar o Wordpress!
>>
>> Em 29 de maio de 2012 16:22, Tiago Peczenyj 
>> escreveu:
>>
>> nivel "dado o codigo abaixo""
>> 
>>
>> como eu faço para acessar um banco de dados e processar compras
>> através de paypal, pagamento digital e geração de boleto em pdf com
>> login pelo facebook?
>>
>> 2012/5/29 Leo Balter :
>> > Essa lista é uma das mais tranquilas que já vi, quer guerra procura a
>> PHP
>> > Brasil ou jQuery Br.
>> >
>> > Lá chovem perguntas indecisas e indecentes.
>> >
>> > Em 29 de maio de 2012 15:44, Samir Cury  escreveu:
>> >
>> >> (30)
>> >>
>> >> Galera, pro nosso amigo novato, nao desiste nao cara, tem MUITO mais
>> >> e-mail tecnico que de xingamento (existem mas meio raros), alias, nao
>> >> preciso dizer mais nada, so procura essa thread aqui, bem recente :
>> >>
>> >> "[Rio-pm] Cliente SMTP em Pure Perl (was Ajuda com configuração do
>> CPAN)"
>> >>
>> >> Entao alem de responder num bom nivel tecnico, a galera aqui ainda poe
>> >> algumas perguntas "banais" no trampolim e sobe bastante o nivel.
>> >>
>> >> Flame tem em todo o canto, ate na SL-RJ, pythonrio, ArduInRio, etc etc
>> >> etc, a pergunta e se o que nao e flame vale a pena estar na lista =)
>> >>
>> >> Abs,
>> >> Samir
>> >>
>> >>
>> >>
>> >> 2012/5/29 Alexei Znamensky 
>> >>>
>> >>> Patrulheiros? Isso me lembra o CHIPS
>> >>>
>> >>> (29)
>> >>> Em 29/05/2012 15:29, "Blabos de Blebe"  escreveu:
>> >>>
>> >>>
>> >>> >
>> >>> > 28
>> >>> >
>> >>> > 2012/5/29 Diana Rosa :
>> >>> > > 26o.
>> >>> > >
>> >>> > > Em 29 de maio de 2012 15:24,  escreveu:
>> >>> > >
>> >>> > >> quem deixou de ler que o email que postei começou assim? "jeito
>> >>> > >> ‘dirty’
>> >>> > >> que funciona"
>> >>> > >>
>> >>> > >> não foi dito que é a melhor maneira; é uma que funciona para quem
>> >>> > >> estava
>> >>> > >> tendo dificuldades com outro módulo; a sugestão não usa módulos
>> e é
>> >>> > >> rápida.
>> >>> > >>
>> >>> > >> cada um usa como quiser, nem sempre é preciso um tratado com
>> banca
>> >>> > >> examinadora escrutinadora.
>> >>> > >>
>> >>> > >> patrulheiros, menos.
>> >>> > >>
>> >>> > >>
>> >>> > >> -Mensagem Original- From: Blabos de Blebe
>> >>> > >> Sent: Tuesday, May 29, 2012 3:15 PM
>> >>> > >> To: Perl Mongers Rio de Janeiro
>> >>> > >>
>> >>> > >> Subject: Re: [Rio-pm] Unzip
>> >>> > >>
>> >>> > >>> Você usa Perl como se tivesse usando papel higiênico, e eu
>> preciso
>> >>> > >>> amadurecer
>> >>> > >>
>> >>> > >>
>> >>> > >> Ué cara, cada um tem o direito de passar o que quiser na própria
>> >>> > >> bunda.
>> >>> > >> A gente tá aqui é pra dizer que não é pra enfiar na nossa cara
>> >>> > >> depois.
>> >>> > >>
>> >>> > >> 2012/5/29 Daniel Mantovani > >:
>> >>> > >>>
>> >>> > >>> Você usa Perl como se tivesse usando papel higiênico, e eu
>> preciso
>> >>> > >>> amadurecer. Da para perceber o quão maduro você é.
>> >>> > >>> Para de se achar, e aprende alguma coisa.
>> >>> > >>>
>> >>> > >>> []'s
>> >>> > >>> --
>> >>> > >>> Software Engineer
>> >>> > >>> Just Another Perl Hacker
>> >>> > >>> Daniel Mantovani +5511 8538-9897
>> >>> > >>> XOXO
>> >>> > >>>
>> >>> > >>> On May 29, 2012, at 11:47 AM,  wrote:
>>

Re: [Rio-pm] [JOB] Analista de Sistemas Pleno - FAIXA SALARIAL: R$4.000, 00 a 4.5000, 00 CLT

2012-05-29 Por tôpico Stanislaw Pusep
XOXO

ABS()



2012/5/29 Daniel Mantovani 

> Ops, confundi essa vaga com a do Cleiton mandou recentemente. Que
> precisava saber DB2,Websphere etc.
>
>
>  --
> Software Engineer
> Just Another Perl Hacker
> Daniel Mantovani +5511 8538-9897
> XOXO
>
> On May 29, 2012, at 5:42 PM, Daniel Mantovani wrote:
>
> Nossa,
>
> Saber tudo isso por 4.5k CLT.
> Se você tiver bons conhecimentos nos itens descritos, você entra com um
> salário de 15k CLT e ainda ganha carro da empresa na IBM.
>
> OBS: (Eles estão procurando gente)
>
> []'s
>
>  --
> Software Engineer
> Just Another Perl Hacker
> Daniel Mantovani +5511 8538-9897
> XOXO
>
> On May 29, 2012, at 5:23 PM, Tiago Peczenyj wrote:
>
> por coincidencia me ligaram hoje da Brain sobre essa vaga.
>
> ia postar aqui tb.
>
> 2012/5/29 Danillo Souza :
>
> putz, por 45k CLT tenho os conhecimentos que vocês quiserem, e ainda sei
>
> fazer miojo
>
>
>
>
> Em 29 de maio de 2012 17:17, Blabos de Blebe  escreveu:
>
>
> 4 a 45k?
>
>
> Opa, to dentro :)
>
>
> 2012/5/29 Gabriel Vieira :
>
> Copiado do linked.in
>
>
> --
>
> OPORTUNIDADE: Analista de Sistemas Pleno - FAIXA SALARIAL: R$4.000,00
>
> a 4.5000,00 CLT
>
> Analista de Sistemas Pleno
>
>
> Formação:
>
> Formação completa e/ou cursando Sistemas da Informação e/ou afins;
>
>
> Idiomas:
>
> Inglês: Avançado (lidar com fornecedores estrangeiros)
>
>
> Conhecimentos:
>
> Experiência na construção de interfaces utilizando XML, XSLT
>
> Conhecimento de linguagem SQL
>
> Experiência com mapeamento de processos
>
> Contato com ambientes de rede Windows e Linux
>
> Conhecimentos básicos de linguagem de programação (Java, Perl, Vbscript)
>
> Conhecimento da linguagem HTML
>
> Experiência com processos de produção de conteúdo é um diferencial
>
>
> Faixa Salarial: De R$4.000,00 a 4.5000,00 CLT
>
>
> Local de Trabalho: Centro/RJ
>
>
> Os interessados deverão enviar o currículo atualizado para
>
> dfrei...@zug.com.br , mencionando no assunto VAGA ANALISTA DE SISTEMAS
>
> PLENO
>
>
>
> --
>
> Gabriel Vieira
>
> ___
>
> Rio-pm mailing list
>
> Rio-pm@pm.org
>
> http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
>
> Rio-pm mailing list
>
> Rio-pm@pm.org
>
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> ___
>
> Rio-pm mailing list
>
> Rio-pm@pm.org
>
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://pacman.blog.br
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Unzip

2012-05-29 Por tôpico Stanislaw Pusep
++Blabos :D
Mantovani, aquele seu código de desenhar um "X" usando letras "J" também
não ficou oitava maravilha, não, r...

ABS()



2012/5/29 Blabos de Blebe 

> > Você usa Perl como se tivesse usando papel higiênico, e eu preciso
> > amadurecer
>
> Ué cara, cada um tem o direito de passar o que quiser na própria bunda.
> A gente tá aqui é pra dizer que não é pra enfiar na nossa cara depois.
>
> 2012/5/29 Daniel Mantovani :
> > Você usa Perl como se tivesse usando papel higiênico, e eu preciso
> > amadurecer. Da para perceber o quão maduro você é.
> > Para de se achar, e aprende alguma coisa.
> >
> > []'s
> > --
> > Software Engineer
> > Just Another Perl Hacker
> > Daniel Mantovani +5511 8538-9897
> > XOXO
> >
> > On May 29, 2012, at 11:47 AM,  wrote:
> >
> > Mantovani, menos.
> >
> > Amadureça.
> >
> > From: Daniel Mantovani
> > Sent: Tuesday, May 29, 2012 11:04 AM
> > To: ulis...@ibiz.com.br ; Perl Mongers Rio de Janeiro
> > Subject: Re: [Rio-pm] Unzip
> >
> > Ulisses,
> >
> > Se for para fazer porcaria, use Shell Script.
> >
> > --
> > Software Engineer
> > Just Another Perl Hacker
> > Daniel Mantovani +5511 8538-9897
> > XOXO
> >
> > On May 29, 2012, at 10:14 AM,  wrote:
> >
> > jeito ‘dirty’ que funciona em Linux e MS$ |(se vc baixar o unzip for
> windows
> > na máquina).
> >
> > se vc puder dar um exec no comando unzip, sugiro
> >
> > $cmd = "unzip -o \"$in\" -d $path_temp_zip"; # unzipa $in no subdir
> > temporario, adicao de -o para overwrite sem perguntar nada para usuario
> >
> > vc pode colocar opções para extrair apenas os arquivos que vc deseja
> > extrair: opções –x -C
> >
> > $cmd_msg = qx/$cmd 2>&1/; # captura STDOUT e STDERR
> > $cmd_status = $?; # memoriza status de retorno do unzip
> >
> > if ($cmd_status) {
> > ($ok, $sev, $msg) = (0,1,"Erro ao executar '$cmd': $cmd_status:
> > $cmd_msg");
> > 
> > } else {
> >navegue por   $path_temp_zip para tratar os arquivos do seu
> interesse, ja
> > filtrados pelas opções que vc deve adicionar no $cmd unzip acima
> > }
> >
> > From: Aureliano Guedes
> > Sent: Tuesday, May 29, 2012 8:19 AM
> > To: Rio PM
> > Subject: Re: [Rio-pm] Unzip
> >
> > O que tentei fazer foi isso:
> >
> > http://pastebin.com/45tHKZur
> >
> > Mas ainda não deu certo.
> >
> >
> > 
> > Date: Mon, 28 May 2012 23:08:44 -0300
> > From: ole@gmail.com
> > To: rio-pm@pm.org
> > Subject: Re: [Rio-pm] Unzip
> >
> > Walking through a zipfile, com certeza te providencia o nomes dos
> arquivos.
> > Afinal,.a extensão não importante, faz parte do nome...
> > 0le
> > Send via Android
> > Em 28/05/2012 22:48, "Aureliano Guedes" 
> escreveu:
> >
> > Ok. Entendo ja li a documentação, inclusive ja pesquisei codigo pronto ja
> > internet. Mas ainda sim não consegui usa-lo, pois especificando a
> extenção
> > do arquivo fica facil, o output saira com a extenção desejada, mesmo que
> > você coloque *.cmj (casa da mãe joana).
> > Minha duvida é, descompactar 800 arquivos *.zip onde o conteudo pode ser
> > arquivos das mais diversas extenções, as vezes mais de um arquivo, as
> vezes
> > uma pasta contendo outros arquivos, acontece que sempre sai um arquivo
> vazio
> > como ja falei.
> >
> > Então, como fazer?
> >
> >
> >
> >> From: gabi...@gmail.com
> >> Date: Mon, 28 May 2012 22:33:55 -0300
> >> To: rio-pm@pm.org
> >> Subject: Re: [Rio-pm] Unzip
> >>
> >>
> >> On May 28, 2012, at 10:18 PM, Aureliano Guedes wrote:
> >>
> >> >
> >> > Qual seria minh alternativa??
> >>
> >> Ao invés do IO::Uncompress::Unzip? Hmmm.. que tal o
> IO::Uncompress::Unzip?
> >>
> >>
> https://metacpan.org/module/IO::Uncompress::Unzip#Walking-through-a-zip-file
> >>
> >> :D
> >>
> >>
> >>
> >>
> >> ___
> >> Rio-pm mailing list
> >> Rio-pm@pm.org
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
> >
> > ___ Rio-pm mailing list
> > Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
> >
> > 
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
> >
> >
> >
> >
> > ___
> > Rio-pm mailing list
> > Rio-pm@pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Term::ANSIColor no Windows

2012-05-28 Por tôpico Stanislaw Pusep
Vc precisa utilizar um emulador de terminal que suporte as sequências de
controle ANSI :)
Já usei o mintty, recomendo: http://code.google.com/p/mintty/

ABS()



2012/5/28 Aureliano Guedes 

>  Boa Noite,
> Monges.
>
> Apenas uma pequena duvida, há alguma alternativa para o Term::ANSIColor
> que funcione no Windows 7 ??
>
> Teoricamente, deveria funcionar no Windows, contudo testei em 3 maquinas,
> e vi, o problema não é configuração, apenas meu codigo não se tornou
> portavel,
> não funcionou da mesma forma no Ubuntu e no Windows.
>
> Segue um exemplo que não da certo
>
> _
> use Term::ANSIColor;
> use strict;
> use warnings;
>
> print "\n";
> print color 'red';
> print "outra cor\n";
> print color 'blue';
> print "mais cor\n"   ;
> print color
> 'reset';
>
> print " \n";
> print "normal\n";
> __
>
> A mudança de cor ocorre apenas no Ubuntu, no Windows 7 não.
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Feliz dia da toalha!

2012-05-25 Por tôpico Stanislaw Pusep
juniiior182[at]gmail...

ABS()



2012/5/25 Junior Moraes 

> >estranho[at]diogoleal...
>
> Enviado via mobile
> Em 25/05/2012 09:49, "breno"  escreveu:
>
> \o/
>>
>> On Fri, May 25, 2012 at 9:39 AM, Diogo Leal 
>> wrote:
>> > Monges,
>> >
>> > Feliz dia da toalha!
>> >
>> >
>> > Diogo Leal [estranho]
>> > http://diogoleal.com
>> > msn | gtalk: estra...@diogoleal.com
>> > ___
>> > Rio-pm mailing list
>> > Rio-pm@pm.org
>> > http://mail.pm.org/mailman/listinfo/rio-pm
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Cliente SMTP em Pure Perl (was Ajuda com configuração do CPAN)

2012-05-18 Por tôpico Stanislaw Pusep
https://metacpan.org/module/Email::Send

ABS()



2012/5/15 João Gabriel Casteluber Laass 

> Procure por SMTP-Cli no Google. É um cliente SMTP completo feito em Perl.
>
>
>
>
> 
> João Gabriel C. Laass
>
>
>
>
> Em 11 de maio de 2012 15:22, Eden Cardim  escreveu:
>
> > "Matheus" == Matheus Lucas  writes:
>>
>>Matheus> Bom dia amigos !  Alguém pode me indicar um modulo que faz
>>Matheus> cliente smtp...
>>
>> Sim, existe o Net::SMTP.
>>
>>Matheus> estou fazendo um script que usa o programa msmtp
>>Matheus> para enviar emails, mais gostaria de implementar isso tudo com
>>Matheus> perl mesmo, nao usar programas fora do script
>>
>> Porque?
>>
>>Matheus> e vi que tem alguns modulos para fazer isso, mais nunca usei.
>> Se
>>Matheus> alguem tiver experiencia com algum... help-me please ;-)
>> abraço a
>>Matheus> todos e obrigado !
>>
>> Começa pela sinopse do Net::SMTP e vai relatando os problemas que você
>> encontrar.
>>
>> --
>> Eden Cardim
>> +55 11 9644 8225
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Gentileza gera gentileza [Troll mode on]

2012-05-13 Por tôpico Stanislaw Pusep
Sobre a tradição de trollar os novatos. Todos aqui já foram novatos.
Novatos sempre são trollados, desde o início dos tempos. De alguma forma,
isso prejudicou o aprendizado de vocês? Arrisco a dizer que não, muito pelo
contrário.
Esses textos de "netiqueta" estão por aí há tanto tempo quanto os
powerpoints de autoajuda; no melhor caso, servem ao seu propósito como um
"argumento apaziguador". Já os flame wars são eternos. E, de certa forma,
divertidos :)
Em suma: "trocas de elogios" não deixam de fazer parte do aprendizado
mútuo. Existe uma tenue fronteira entre o saudável e o patológico; e vi ela
ser cruzada pouquíssimas vezes nas comunidades online.

P.S. - em um dos auditórios da universidade aonde o meu pai estudou, numa
das paredes, havia pendurado um taco de baseball com a placa explicativa:
"O Último Argumento"... Nem os acadêmicos estão a salvo da trollagem ;)

ABS()



2012/5/13 Blabos de Blebe 

> "Gentileza gera gentileza", então seja gentil com a lista e leia
> http://www.catb.org/~esr/faqs/ (primeira parte)
> "Gentileza gera gentileza", então seja gentil com a lista e use
> http://en.wikipedia.org/wiki/Web_search_engine
> "Gentileza gera gentileza", então compreenda que em qualquer convívio
> social você está sujeito a lidar com pessoas que pensam diferente de
> você.
>
> []'s
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Ajuda com configuração do CPAN

2012-05-10 Por tôpico Stanislaw Pusep
Ou talvez o CPANPLUS: https://metacpan.org/module/CPANPLUS :)

ABS()



2012/5/10 Gabriel Vieira 

> Dá uma olhada no App::cpanminus pode ser que você mude a sua estratégia.
>
> 2012/5/10 Guilherme Alves 
>
>> Prezados,
>>
>> A minha dúvida é básica, mas não estou achando uma boa solução..
>>
>> Gostaria de configurar o cpan em uma linha.. passando todas as opçoes
>> como se estivesse configurando aquele passo a passo inicial que todos
>> conhecem. Gostaria de setar umas preferências e um local para ele puxar os
>> módulos.. tipo um mirror local.
>>
>> A minha idéia é automatizar para várias máquinas e evitar aquelas
>> perguntas de mirror, onde está tal binário, se deseja isso ou aquilo.
>>
>> Desde já agradeço a ajuda,
>>
>> Att,
>>
>> --
>> Guilherme Alves
>>
>> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ
>> Grupo de Resposta a Incidentes de Segurança
>> Conheça o GRIS em www.gris.dcc.ufrj.br
>>
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> Gabriel Vieira
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Ajuda com configuração do CPAN

2012-05-10 Por tôpico Stanislaw Pusep
Seria o que o local::lib faz?

http://sysd.org/perl-e-modulos-na-home/

ABS()



2012/5/10 Guilherme Alves 

> Prezados,
>
> A minha dúvida é básica, mas não estou achando uma boa solução..
>
> Gostaria de configurar o cpan em uma linha.. passando todas as opçoes como
> se estivesse configurando aquele passo a passo inicial que todos conhecem.
> Gostaria de setar umas preferências e um local para ele puxar os módulos..
> tipo um mirror local.
>
> A minha idéia é automatizar para várias máquinas e evitar aquelas
> perguntas de mirror, onde está tal binário, se deseja isso ou aquilo.
>
> Desde já agradeço a ajuda,
>
> Att,
>
> --
> Guilherme Alves
>
> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ
> Grupo de Resposta a Incidentes de Segurança
> Conheça o GRIS em www.gris.dcc.ufrj.br
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Lendo arquivos com mojolicious

2012-05-10 Por tôpico Stanislaw Pusep
Dependendo da carga e do azar, pode acontecer a situação em que a imagem
ainda está sendo gravada e o servidor simultaneamente tenta passá-la para
um cliente, não? Tentar resolver isso corretamente quebra a portabilidade
de acordo :S
Por outro lado, também não estou certo se os servidores HTTP são
"amigáveis" com locking por default...

ABS()



2012/5/10 Manoel Domingues Junior 

> Estou usando o prorpio servidor do mojolicious... a ideia é tornar a
> aplicação o mais portavel possível...
>
> Abraços,
>
> Em 10 de maio de 2012 15:12, Eden Cardim  escreveu:
>
> > "Manoel" == Manoel Domingues Junior <
>> manoel.domingues.jun...@gmail.com> writes:
>>
>>Manoel> Ola pessoal, Construí uma aplicação que precisa ler uma imagem
>> que
>>Manoel> é atualizada a cada 5 segundos.  Isso impossibilita que eu
>> deixe a
>>Manoel> imagem embebed no código da aplicação.  Construí o refresh
>> dela em
>>Manoel> javascript.  Tentei fazer a aplicação dar um open na imagem aí
>> não
>>Manoel> consegui criar as rotas.
>>
>>Manoel> Acho que meu problema se resume em como criar uma rota para um
>>Manoel> arquivo que seja dinâmico.
>>
>> Existe algum motivo em particular pelo qual essa imagem não possa ser
>> servida
>> diretamente pelo servidor HTTP?
>>
>> --
>> Eden Cardim
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
>
> --
> --
> Manoel Domingues Junior
> "Coletar dados é o primeiro passo para a sabedoria, mas compartilhar dados
> é o primeiro passo para a comunidade."
> IBM - Prodigy Linux
>
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] lendo nome de diretorios

2012-05-03 Por tôpico Stanislaw Pusep
https://METAcpan.org/ ;)

ABS()



2012/5/3 Bruno Buss 

> 2012/5/3 Aureliano Guedes 
>
>>  Monges,
>> Boa noite.
>>
>> Desculpem-me incomoda-los com tamanho desconhecimento, mas as seguintes
>> perguntas são simples:
>>
>
>> Como faço para "ler" o "nome" do diretorio no qual me encontro?
>> Ex: se minha pasta se chama "Rio_PM" como faço pra saber que esta pasta
>> se chama "Rio_PM", não digo ler o conteudo e sim o nome.
>>
>
> http://search.cpan.org/~smueller/PathTools-3.33/Cwd.pm
>
>
>>
>> Como faço para acessar/criar diretorios de forma multiplataforma se no
>> Windows eu chamo "Diretorio\Sub_Diretorio" e no Linux
>> "Diretorio/Sub_Dritorio", ou seja, a barra muda o sentido.
>>
>
> http://search.cpan.org/~smueller/PathTools-3.33/lib/File/Spec.pm
>
> ou
>
> http://search.cpan.org/~kwilliams/Path-Class-0.25/lib/Path/Class.pm
>
> Deixe nos seus favoritos:
> http://search.cpan.org/
>
> [ ]'s
> --
> Bruno C. Buss
> http://www.brunobuss.net
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Perl, Javascript (was: Re: Perl em desuso??)

2012-05-02 Por tôpico Stanislaw Pusep
Só tangenciando o contexto, JavaScript pode ser usado para programar em
Scheme, r:
http://www.crockford.com/javascript/scheme.html
http://www.crockford.com/javascript/little.html

ABS()



2012/5/2 Nuba Princigalli 

>   Caros,
>
>  On Tue, May 1, 2012, at 01:00 AM, Ulisses IBIZ wrote:
>
>  nao morro de amores por Javascript mas essa linguagem vem mudando o modo
> de fazer as coisas, talvez pq ela esteja mais a mao...
>
>  = cada vez mais estao surgindo apps com complexas interfaces de usuario,
> em Javascript e HTML, claro. Com crossroads.js, backbone.js, knockout.js se
> constroe interfaces de maneira bem mais facil, tirando muito da
> complexidade do servidor. Cada vez mais o servidor tem ficado apenas com o
> lado de persistencia de dados com BDs tolerantes a falhas, distribuidos,
> prontos pra cloud. Decisores estao focando cada vez mais nas duas pontas:
> qual a cara da minha app e como persistir os dados na cloud, com baixo
> custo, alta disponibilidade e sem falhas. E escolhem um miolo/server que
> nao atrapalhe, falando geralmente JSON via REST.
>
>  de uma brincada aqui para ver o que se pode fazer na UI, somente na
> ponta, sem mexer uma palha no server => http://learn.knockoutjs.com/
>
>  examplos de uso do backbone.js =>
> http://documentcloud.github.com/backbone/#examples
>
>  = Node.js, Javascript que roda no servidor (isso mesmo), orientado a
> eventos que visa consumir muito menos recursos do lado servidor. Mais em
> http://www.ibm.com/developerworks/br/library/os-nodejs/. Ta no comeco,
> mas ainda vai ficar melhor.
>
>  a voxer.com esta usando node.js com riak como db nonsql, distribuido,
> tolerante a falhas, p.exe.
>
>
>  No começo do ano passado comecei a usar javascript além dos "page
> enhancements" triviais, comecei pelo jQuery, jQuery Mobile e Jemplate --
> esse último me permitiu reutilizar, no browser, templates que eu já usava
> na view da minha app catalyst. Terminei me afogando num spaghetti code
> danado, e resolvi que era hora de parar de "programar em jQuery" e entrar
> no JS pra valer.
>
>  Hoje, não vejo nada melhor que o combo: Perl no backend, exposto via API
> REST + JavaScript no frontend, consumindo essa API, no paradigma de
> single-page app, thick client.
>
>  Tenho acompanhado também node.js, mas até agora os relatos que vejo na
> rede irc.perl.org, de quem está experimentando, me sugerem que valha a
> pena esperar um pouco mais...
>
>  Posto isso... sempre torcendo por avanços na linha perl+lvvm+emscripten,
> e nas iniciativas como as do fglock, pra uma hora termos Perl (e tudo que
> for Pure-Perl no CPAN) no browser! :)
>
>  Lembrando que aqui no Rio temos um grupo ótimo de JS, http://riojs.org/com 
> encontros técnicos a cada 2 meses, que tem entre seus principais
> organizadores o Leo Balter, que palestrou no YAPC::Brasil 2011 e entrou
> recentemente na lista! Inclusive, no último encontro, no Peixe Urbano,
> levamos (sim, no plural rsrs) muitas coisas técnicas e da comunidade de
> Perl (e outros levaram também de Python e de Ruby) para enriquecer a
> discussão sobre o ferramental e a cultura do JS hoje.
>
>  Abraço,
>
>  Nuba Princigalli
>
>
> --
> Nuba R. Princigalli n...@pauleira.com http://pauleira.com @nprincigalli
> Discipline is not an end in itself, just a means to an end. - King Crimson
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Fwd: Booking.com is hiring

2012-04-25 Por tôpico Stanislaw Pusep
Com vocês, o relato de alguém que tentou sorte na Booking.com:
http://blogs.perl.org/users/bookingemployee/2012/03/truth-about-bookingcom.html
Resumo, no final:

Why to work here?
If you want to move to Europe, they will pay. Amsterdam is very nice.
You might get a change to train for management. People are very nice
and I like my colleagues.

Why not to work here?
If you care about technology and doing a good job, do not work here.
If you like to write tests, do not work here. If you try to change
things, they will talk to you about your attitude. If you do not stop,
you will not have a job.

ABS()


On Wed, Apr 25, 2012 at 16:06, Thiago Rondon  wrote:
> -- Forwarded message --
> From: Jonas Alves 
> Date: Wed, Apr 25, 2012 at 3:30 PM
> Subject: Booking.com is hiring
> To: Lisbon Perl Mongers 
>
>
> A booking.com quer contratar 30 a 40 programadores de Perl este ano.
> Há interessados por aqui? :)
>
> http://www.booking.com/jobs.html?st=jobs&category=IT%20Design%20%26%20Development
>
> --
> Jonas
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] Perl em desuso??

2012-04-23 Por tôpico Stanislaw Pusep
for(;;$bruno_buss++){}

ABS()



On Mon, Apr 23, 2012 at 18:09, Bruno Buss  wrote:

> 2012/4/23 Aureliano Guedes 
>
>>  Vou defender um pouco Python. Apesar de achar chato tudo ter que ser
>> objeto e achar frescura o esse negocio de identação,
>> é uma linguagem com grande desempenho quando falamos de calculos, por
>> isso muito ultilizada na bioinformatica,
>>
>
> Não, ela é utilizada na bioinformática por ser fácil e ter um desempenho
> razoável.
> Se somente um "grande desempenho com cálculos" fosse necessário, todos em
> bioinformática programariam em assembly.
>
>
>> o fato do google
>> ter apostado nessa linguagem coopera muito com o crescimento dela, e a
>> comunidade python é empenhada, mas isso não tira o fato de eu
>> achar "modinha", quando falo que caiu na modinha não quero desmerecer a
>> lingugagem e sim a massificação de programadores.
>>
>
> Essa é a mesma massificação que permite que *você* consiga programar. Sim
> *você*.
> *Você* que nunca estudou formalmente computação, que não tem conhecimentos
> básicos sólidos de arquitetura, algoritmos, linguagens de programação,
> join(',', @outras_materias_de_computacao).
> *Você* que é formado em outra área, mas é capaz de aprender a programar
> para adiantar sua vida, já que temos a disposição máquinas com muitos
> recursos totalmente sub-utilizadas.
> *Você* que pega um livro qualquer sobre uma linguagem qualquer e depois de
> alguns poucos dias se diz programador (mesmo iniciante). Estou pra ver o
> dia que eu sair com uma faca, rasgando pessoas pela rua se elas vão me
> chamar de médico ou cirurgião.
>
> *Você* é o fruto dessa "massificação de programadores". *Você* faz parte
> integral dela.
> A menos que você esteja utilizando um dos argumentos mais sem sentido (ou
> com uma lógica tão bonita e delicada que eu não consigo notar), não fale
> contra o seu próprio grupo ;)
>
> Desculpe pelo "reality check" ;)
>
> Graças a "massificação dos programadores", acabamos por ver códigos
> macarrônicos, sem sentido, etc. Mas ao mesmo tempo, la no fundo, nos
> sentimos felizes que outras pessoas estão descobrindo essa atividade que
> nos da tanto prazer ;)
>
>
>
>> Talvez esteja relacionado
>> a: "tem emprego". Mas um programador no Brasil deve escolher a linguagem
>> de acordo com a disponibilidade de emprego, assim como o vestibulando
>> escolhe de acordo
>> com o curso que da mais dinheiro (medicina, direito, engenharia civil),
>>
>
> Quem escolhe curso superior porque "da mais dinheiro" não tem o mínimo
> conceito da minha parte.
>
> Como o Breno disse... programador *bom* em [qualquer linguagem], tem
> emprego garantido. Até porque programador bom, dificilmente fica preso em
> alguma linguagem...
>
>
>
>>  eu mesmo nunca vi oferta de emprego para programador em C, uma vez na
>> minha vida vi ofertar para C++.
>>
>
> Você está olhando nos lugares errados, como já disseram ;)
>
>
>> Agora a massificação do programador ("vou programar na mesma linguagem da
>> galera") não deve ser descartado, pois é igual ver Big Brother, isso atinge
>> não programadores experientes,
>> mas sim novatos (assim como eu, mas eu vim de outro ambiente, vim das
>> biologicas).
>>
>
> Viu como você faz parte desse movimento todo que você se diz contra? :)
>
>
>>
>> Quanto a Ruby, continuo achando que e uma linguagem criada de certa forma
>> para competir com Perl, as caracteristicas da linguagem remetem a isso,
>> desde a sintaxe,
>> so que uma tentativa frustada, desculpem-me mas "o programador Ruby
>> programa em Perl 2.0 e não sabe, quando descobre migra para Python (mas
>> aprende whitespace primeiro)".
>>
>
> 1) Python, PHP e Ruby são "filhotes" de Perl. Até onde sei, isso nunca foi
> escondido.
> 2) Se Ruby é o Perl 2.0, então deve ser ruim mesmo porque o Perl já está
> no 5.14 =P
>
> [ ]'s
> --
> Bruno C. Buss
> http://www.brunobuss.net
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] benchmark (era: Perl em desuso??)

2012-04-23 Por tôpico Stanislaw Pusep
Aureliano, esse algoritmo, apesar de servir para listar números primos,
quase não faz cálculo. Veja:

for my $i (2 .. sqrt($n)) {
if ($nums[$i]) {
for (my $m = $i ** 2; $m <= $n; $m += $i) {
$nums[$m] = 0;
}
}
}


Para encontrar todos os primos de 0 a 100 milhões, a conta mais "pesada"
será elevar um número ao quadrado menos de 10 mil vezes. Convenhamos, isso
é irrisório. Já a atribuição de $nums[$m]... Vai acontecer 240 milhões de
vezes!
Bom, acontece que, nas principais linguagens dinâmicas, o protótipo do
array é lista. E lista não é muito boa para acesso por índice. A do Perl,
por exemplo, fritaria uns 30 GB de RAM, pela minha estimativa. Dá para
acoxambrar array de bits num scalar, mas aí passa pela outra abstração, e,
apesar de ficar mais enxuto, fica bem mais lento.
Já em C (simplificando), protótipo de tudo é byte. Quer "marcar" alguma
posição num array de bits? Fácil:

#define SetBit(a, b) (((char *) a)[(b) >> 3] |= (1 << ((b) & 7)))

Essa nhaca compila em um código de máquina minúsculo que roda 240 milhões
de vezes em frações de segundo.
Linguagens dinâmicas (geralmente) não podem acessar a memória diretamente,
precisam das camadas de abstração (e isso é BOM).

ABS()



On Mon, Apr 23, 2012 at 17:09, Aureliano Guedes wrote:

>  Lembrando que Python é uma linguagem com suporte nativo a operações
> matematicas melhor que Perl.
> O desempenho para executar calculos provavelmente seja realmente maior,
> mas estava pensando, e outras operações como
> socket ou mesmo parsea um texto??
> Sei que alguns vão responder: "mas o processador entende tudo como
> calculo", mas acho que a linguagem focar em determinado ponto
> pode ser que dependendo da operação matematica (a nivel de processador) o
> desempenho da linguagem tambem mude.
> Um exemplo disso é comparar o laço for e o laço while, posso fazer um
> contador com os dois, mas eles trabalham de forma diferentes no processador.
>
> --
> From: creakt...@gmail.com
> Date: Mon, 23 Apr 2012 14:14:41 -0300
> To: rio-pm@pm.org
> Subject: [Rio-pm] benchmark (era: Perl em desuso??)
>
>
> Coincidentemente, Junior Moraes (fvox) me mostrou benchmark de Perl VS
> Ruby utilizando o algoritmo do Crivo de Eratóstenes... Ele pegou um
> algoritmo mal-implementado em Ruby e traduziu para Perl (como parte do
> desafio), e, ainda assim, em Perl tinha ficado MUITO mais rápido.
> Então usei como referência
> http://rosettacode.org/wiki/Sieve_of_Eratosthenes, e escolhi os as
> implementações mais parecidas entre si (e que não envolviam otimizações
> "hardcore"): https://gist.github.com/2413936
> Seguem os resultados:
>
> C: 0.09user 0.00system 0:00.09elapsed 98%CPU (0avgtext+0avgdata
> 11872maxresident)k
> Python: 3.63user 0.10system 0:03.77elapsed 99%CPU (0avgtext+0avgdata
> 1270288maxresident)k
> Perl (usando array): 7.14user 0.44system 0:07.67elapsed 98%CPU
> (0avgtext+0avgdata 6092432maxresident)k
> Perl (usando bit vector): 12.47user 0.02system 0:12.53elapsed 99%CPU
> (0avgtext+0avgdata 202496maxresident)k
> Ruby: 13.25user 0.08system 0:13.44elapsed 99%CPU (0avgtext+0avgdata
> 1300304maxresident)k
>
> ABS()
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Perl em desuso??

2012-04-23 Por tôpico Stanislaw Pusep
Claro que vi, Nuba. Mas vi muito menos. Aliás, até hoje, não vi nenhum
programador Assembly ruim :)
Como diz Sturgeon's Law, "ninety percent of everything is crap".
Agora, acessamos http://modulecounts.com/
Para 2012-04-23, temos, portanto, ~22K módulos ruins no CPAN, contra ~34K
módulos ruins no Rubygems. A velocidade média de produção é de 41.4
porcarias em Ruby por dia, contra apenas 5.4 porcarias em Perl por dia :)
Enfim, presumo que exista uma "massa crítica" para que algum produto
informacional passe a se comportar como um câncer, corrompendo as mentes
menos disciplinadas. Windows no geral, Internet Explorer em especial e,
agora, Ruby, cruzaram essa fronteira :P
"É preciso manter a cabeça aberta, mas não a ponto do cérebro cair para
fora"

ABS()



On Mon, Apr 23, 2012 at 16:03, Nuba Princigalli  wrote:

>   Olá Stanislaw,
>
>  Então você nunca viu programador Perl nivelando a comunidade por baixo?
> Que sorte a sua! Eu já encontrei alguns ao longo dos anos, gente que produz
> gambiarras terríveis, write-only, que não têm o menor interesse em se
> atualizar sobre a linguagem, mas, que em seus departamentos são "o cara do
> Perl", e com isso até afastam as pessoas da linguagem.
>
>  Ao invés de ficar escolhendo alguém para demonizar (Ruby hoje, Node
> amanhã, PHP ontem, ASP anteontem, SSI antes de anteontem -- nota: acho que
> Python só escapou porque, como foi a aposta do Google, o povo respeita
> mais...) eu sugiro fazer algo mais produtivo, como trabalhar para facilitar
> a atualização e o crescimento dentro da nossa própria comunidade.
>
>  Estamos com uma discussão em andamento para "o que todo novo Perl Hacker
> precisa saber", quem se interessar, veja
> http://mail.pm.org/pipermail/rio-pm/2012q2/008829.html
>
>  Abraço,
>
>  Nuba Princigalli
>
>
>  On Mon, Apr 23, 2012, at 02:51 PM, Stanislaw Pusep wrote:
>
> Eu entendo perfeitamente que somos seres sociais e o controle de raiva é
> necessário...
> Mas puxa: os programadores Ruby de agências de publicidade estão fazendo
> com o mercado de TI o mesmo que os sobrinhos dos diretores fizeram do
> mercado de uébidizáine (tradução: estão nivelando por baixo).
>  Não que não existam bons programadores Ruby. Não que não existam
> sobrinhos talentosos.
>  Todavia, quem sempre vai elogiar os seus projetinhos e ser tolerante é a
> mamãe e a titia. Eu prefiro falar o que penso na caruda do que torcer para
> que saia uma borboleta dessa larva.
>  (in)felizmente, não sou o único:
> http://developers.slashdot.org/comments.pl?sid=2787049&cid=39687659
>
> ABS()
>
>
>
>  On Mon, Apr 23, 2012 at 14:35, breno  wrote:
>
> Eu ia comentar, mas o Bruno falou absolutamente tudo que eu tinha pra
> dizer.
>
> bbuss++
>
> Aureliano, leia com muita calma e atenção a resposta dele. Depois,
> leia de novo, vai te fazer bem. Acho bacana que vc esteja tão feliz
> com Perl (a maioria de nós está!) mas linguagens são ferramentas e
> devemos usar a que melhor se adeque ao seu problema e sua forma de
> pensar.
>
> Perl não está em desuso, apenas passou a dividir o mercado de
> linguagens dinâmicas com alternativas que não existiam quando a
> linguagem foi criada. Se você quiser algo mais específico, como
> sites/sistemas/empresas que usam Perl, ou sobre o crescimento da
> comunidade, sinta-se à vontade para perguntar, mas note que é uma
> pergunta diferente.
>
> Se você quer defender Perl, evite menosprezar outras linguagens.
> Fanatismo não se sustenta e o seu argumento de que "Ruby é uma
>  linguagenzinha, na minha opinião, criado para viciados em RPG
> geralmente virgens.", se é que posso chamar de argumento, foi pobre,
> infeliz, ofensivo, desnecessário e errado. Novamente, como o Bruno
> disse: Para defender Perl não é preciso menosprezar outras linguagens
>  e seus usuários... deixe isso para as pessoas e comunidades sem
> recursos ;)
>
> []s
>
> -b
>
> On Mon, Apr 23, 2012 at 12:40 PM, Bruno Buss  wrote:
> > 2012/4/23 Aureliano Guedes 
> >>
> >> Monges,
> >> Bom dia.
> >>
> >> Gostaria de levantar uma questão para discutirmos e vermos a opinião de
> >> cada um...
> >>
> >> Perl esta em desuso??
> >
> >
> > Não. Podem encerrar a thread?
> >
> >>
> >>
> >> Ouvi esse comentário (infeliz, na minha opinião) e ainda tive que ouvir
> >> mais (Ruby e Python estão tomando lugar). Afff...
> >
> >
> > Mas Ruby e Python estão tomando lugar, estão tomando uma fatia do que
> antes
> > era apenas Perl.
> > São ferramentas alternativas ao Perl e cada um escolhe a ferramente que
> > melhor lhe agrada e que torna seu trabalh

Re: [Rio-pm] Perl em desuso??

2012-04-23 Por tôpico Stanislaw Pusep
Eu entendo perfeitamente que somos seres sociais e o controle de raiva é
necessário...
Mas puxa: os programadores Ruby de agências de publicidade estão fazendo
com o mercado de TI o mesmo que os sobrinhos dos diretores fizeram do
mercado de uébidizáine (tradução: estão nivelando por baixo).
Não que não existam bons programadores Ruby. Não que não existam sobrinhos
talentosos.
Todavia, quem sempre vai elogiar os seus projetinhos e ser tolerante é a
mamãe e a titia. Eu prefiro falar o que penso na caruda do que torcer para
que saia uma borboleta dessa larva.
(in)felizmente, não sou o único:
http://developers.slashdot.org/comments.pl?sid=2787049&cid=39687659

ABS()



On Mon, Apr 23, 2012 at 14:35, breno  wrote:

> Eu ia comentar, mas o Bruno falou absolutamente tudo que eu tinha pra
> dizer.
>
> bbuss++
>
> Aureliano, leia com muita calma e atenção a resposta dele. Depois,
> leia de novo, vai te fazer bem. Acho bacana que vc esteja tão feliz
> com Perl (a maioria de nós está!) mas linguagens são ferramentas e
> devemos usar a que melhor se adeque ao seu problema e sua forma de
> pensar.
>
> Perl não está em desuso, apenas passou a dividir o mercado de
> linguagens dinâmicas com alternativas que não existiam quando a
> linguagem foi criada. Se você quiser algo mais específico, como
> sites/sistemas/empresas que usam Perl, ou sobre o crescimento da
> comunidade, sinta-se à vontade para perguntar, mas note que é uma
> pergunta diferente.
>
> Se você quer defender Perl, evite menosprezar outras linguagens.
> Fanatismo não se sustenta e o seu argumento de que "Ruby é uma
> linguagenzinha, na minha opinião, criado para viciados em RPG
> geralmente virgens.", se é que posso chamar de argumento, foi pobre,
> infeliz, ofensivo, desnecessário e errado. Novamente, como o Bruno
> disse: Para defender Perl não é preciso menosprezar outras linguagens
> e seus usuários... deixe isso para as pessoas e comunidades sem
> recursos ;)
>
> []s
>
> -b
>
> On Mon, Apr 23, 2012 at 12:40 PM, Bruno Buss  wrote:
> > 2012/4/23 Aureliano Guedes 
> >>
> >> Monges,
> >> Bom dia.
> >>
> >> Gostaria de levantar uma questão para discutirmos e vermos a opinião de
> >> cada um...
> >>
> >> Perl esta em desuso??
> >
> >
> > Não. Podem encerrar a thread?
> >
> >>
> >>
> >> Ouvi esse comentário (infeliz, na minha opinião) e ainda tive que ouvir
> >> mais (Ruby e Python estão tomando lugar). Afff...
> >
> >
> > Mas Ruby e Python estão tomando lugar, estão tomando uma fatia do que
> antes
> > era apenas Perl.
> > São ferramentas alternativas ao Perl e cada um escolhe a ferramente que
> > melhor lhe agrada e que torna seu trabalho mais agradável e eficiente.
> >
> >>
> >>
> >> O fato é, quem gosta de POO realmente vai preferir Python, pois poucos
> >> sabem que Perl tem suporte a OO, inclusive eu criei vario objetos para
> >> mostrar como
> >> podemos usar Perl como se fosse POO. Mas, o serio problema que os
> códigos
> >> Python tem com indentação é triste, alem de que tratar tudo como objeto
> é um
> >> saco.
> >
> >
> > Indentação do Python é triste?
> > Apesar de algo que restringe um pouco - quase nada emho - como o
> programador
> > utiliza a linguagem... eu acho uma coisa legal.
> > Sério mesmo, é muito mais fácil alguém que ta aprendendo a programar
> fazer
> > algo muito mais macarrônico em Perl ou C do que em Python.
> >
> > Agora, se isso define se uma linguagem é melhor que a outra? Não
> acredito...
> >
> >>
> >>
> >> Ruby é uma linguagenzinha, na minha opinião, criado para viciados em RPG
> >> geralmente virgens.
> >
> >
> > De fato, com argumentos fortes e contundentes desse tipo, você está
> fazendo
> > um bem enorme a comunidade Perl.
> > Fica uma dica: Para defender Perl não é preciso menosprezar outras
> > linguagens e seus usuários... deixe isso para as pessoas e comunidades
> sem
> > recursos ;)
> >
> >>
> >>
> >> Fiz o seguinte script abaixo
> >> http://pastebin.com/eJEC0Kvt
> >>
> >> para testar os dois seguintes
> >> http://pastebin.com/ytUiweKe
> >> http://pastebin.com/0BfyiZgh
> >>
> >> gerando o resultado:
> >>
> >> Perl
> >> real 0m24.136s
> >> user 0m23.985s
> >> sys 0m0.028s
> >>
> >> Ruby
> >> real 0m50.882s
> >> user 0m50.563s
> >> sys 0m0.040s
> >>
> >> Num AMD Athlon 64 com o Ubuntu 11.10 64x 2GB de Ram,
> >> Perl sendo mais que 2x mais rápido.
> >
> >
> > De fato, a velocidade que uma linguagem faz uma loop que soma de todos os
> > inteiros de 1 a 1M é o que define se uma linguagem é realmente boa...
> > Mais uma dica: Utilize a formula de soma de PA e você conseguirá o mesmo
> > resultado em uma fração muito menor de tempo, em qualquer linguagem, do
> que
> > isso que você conseguiu em Perl. Uma solução ruim, continua sendo uma
> > solução ruim independente da linguagem com a que você a implementa ;)
> >
> >>
> >>
> >> Alem de que o Gems é uma porcaria.
> >
> >
> > Seus argumentos aqui também não sensacionais.
> > De qualquer forma, acho que você deveria levar esse seu questionamento
> para
> > listas de Ruby... l

[Rio-pm] benchmark (era: Perl em desuso??)

2012-04-23 Por tôpico Stanislaw Pusep
Coincidentemente, Junior Moraes (fvox) me mostrou benchmark de Perl VS Ruby
utilizando o algoritmo do Crivo de Eratóstenes... Ele pegou um algoritmo
mal-implementado em Ruby e traduziu para Perl (como parte do desafio), e,
ainda assim, em Perl tinha ficado MUITO mais rápido.
Então usei como referência http://rosettacode.org/wiki/Sieve_of_Eratosthenes,
e escolhi os as implementações mais parecidas entre si (e que não envolviam
otimizações "hardcore"): https://gist.github.com/2413936
Seguem os resultados:

C: 0.09user 0.00system 0:00.09elapsed 98%CPU (0avgtext+0avgdata
11872maxresident)k
Python: 3.63user 0.10system 0:03.77elapsed 99%CPU (0avgtext+0avgdata
1270288maxresident)k
Perl (usando array): 7.14user 0.44system 0:07.67elapsed 98%CPU
(0avgtext+0avgdata 6092432maxresident)k
Perl (usando bit vector): 12.47user 0.02system 0:12.53elapsed 99%CPU
(0avgtext+0avgdata 202496maxresident)k
Ruby: 13.25user 0.08system 0:13.44elapsed 99%CPU (0avgtext+0avgdata
1300304maxresident)k

ABS()
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Perl em desuso??

2012-04-23 Por tôpico Stanislaw Pusep
Isso pode significar que o Fedora está na contramão do sucesso ;)

ABS()



On Mon, Apr 23, 2012 at 12:41, Bruno Buss  wrote:

> 2012/4/23 Stanislaw Pusep 
>
>> Perl em desuso?!
>> Desafio quem disser isso a dar um "sudo mv /usr/bin/perl
>> /usr/bin/perl.bak; sudo reboot" ;)
>>
>
> O Fedora já fez isso. :)
> Isso significa que Perl está em desuso? Não acredito ;)
>
> [ ]'s
> --
> Bruno C. Buss
> http://www.brunobuss.net
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Perl em desuso??

2012-04-23 Por tôpico Stanislaw Pusep
Perl em desuso?!
Desafio quem disser isso a dar um "sudo mv /usr/bin/perl /usr/bin/perl.bak;
sudo reboot" ;)
Se for assim, C também está em desuso?!
Tirem suas próprias conclusões:
http://www.tiobe.com/index.php/paperinfo/tpci/C.html
http://www.tiobe.com/index.php/paperinfo/tpci/Python.html
http://www.tiobe.com/index.php/paperinfo/tpci/Ruby.html
http://www.tiobe.com/index.php/paperinfo/tpci/Perl.html

ABS()



On Mon, Apr 23, 2012 at 12:15, Aureliano Guedes wrote:

>  Depende muito, apesar de muitas funções matematica, Perl tem um modulo
> que esqueci o nome que implementa muitas funções matematicas,
> veja o sistema Sfold http://sfold.wadsworth.org/cgi-bin/index.pl é feito
> em Perl, capaz de gerar a configuração 3D do RNA.
>
> --
> Date: Mon, 23 Apr 2012 12:07:09 -0300
> From: cleysinh...@gmail.com
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Perl em desuso??
>
>
> Depende Aureliano. Em nossa área (Boinformática) as coisas são muito
> dinâmicas. O pessoal tem publicado bastante em Journals internacionais
> sistemas em python, uma vez que o uso da estatística tem se tornado
> práticas comuns em análises moleculares. Me parece que python possui muitas
> funções matemáticas que são desejáveis para análises.
>
> 2012/4/23 Aureliano Guedes 
>
>  Monges,
> Bom dia.
>
> Gostaria de levantar uma questão para discutirmos e vermos a opinião de
> cada um...
>
> Perl esta em desuso??
>
> Ouvi esse comentário (infeliz, na minha opinião) e ainda tive que ouvir
> mais (Ruby e Python estão tomando lugar). Afff...
>
> O fato é, quem gosta de POO realmente vai preferir Python, pois poucos
> sabem que Perl tem suporte a OO, inclusive eu criei vario objetos para
> mostrar como
> podemos usar Perl como se fosse POO. Mas, o serio problema que os códigos
> Python tem com indentação é triste, alem de que tratar tudo como objeto é
> um saco.
>
> Ruby é uma linguagenzinha, na minha opinião, criado para viciados em RPG
> geralmente virgens.
>
> Fiz o seguinte script abaixo
> http://pastebin.com/eJEC0Kvt
>
> para testar os dois seguintes
> http://pastebin.com/ytUiweKe
> http://pastebin.com/0BfyiZgh
>
> gerando o resultado:
>
> Perl
> real 0m24.136s
> user 0m23.985s
> sys 0m0.028s
>
> Ruby
> real 0m50.882s
> user 0m50.563s
> sys 0m0.040s
>
> Num AMD Athlon 64 com o Ubuntu 11.10 64x 2GB de Ram,
> Perl sendo mais que 2x mais rápido.
>
> Alem de que o Gems é uma porcaria.
>
> Não sei, talvez seja apenas modinha, mas se a comunidade Ruby não se
> empenhar a modinha passa e fica so Python e Perl, mas não sei dizer quanto
> a segurança web, mas na bioinformática
> continua sendo bem usado.
>
> Queria saber do pessoal mais velho que tem bem mais experiência e
> conhecimento, o que acham dessas questão: "Perl está em desuso ou não??".
>
>
> Att,
>
> Aureliano Guedes
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> **
> .: Inteligência Coletiva :.
> Uma inteligência distribuída por toda parte: tal é o nosso axioma inicial.
> Ninguém sabe tudo, todos sabem alguma coisa, todo o saber está na
> humanidade’. (Pierre Lévy)
> www.bioinfopop.ufv.br
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm