Re: [Rio-pm] Metodos de Download em Massa

2017-05-25 Por tôpico Aureliano Guedes
Então, esses no caso to pegando do NCBI.

Muita gente vai dizer que tem e-utilities, BioPerl, mas convenhamos que epost, 
efetch não são muito eficientes para dataset largos, um curl e furl ja baixam 
mais rápido. BioPerl é dispensável pra pra um simples get.

E ja baixei o que precisava, inclusive eu tinha outro script pra essa tarefa, 
so que agora to usando muitos datasets todos na faixa dos 2-3 milhoes de 
entradas cada.


From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail@pm.org> on behalf of 
Felipe Leprevost <leprevos...@gmail.com>
Sent: Wednesday, May 24, 2017 7:53:48 PM
To: Perl Mongers Rio de Janeiro
Subject: Re: [Rio-pm] Metodos de Download em Massa

Apenas como curiosidade Aureliano, de onde você está tentando obter os arquivos 
?

On Wed, May 24, 2017 at 3:21 PM Felipe da Veiga Leprevost 
<fel...@leprevost.com.br<mailto:fel...@leprevost.com.br>> wrote:
Apenas como curiosidade Aureliano, de onde você está tentando obter os arquivos 
?

On Wed, May 24, 2017 at 3:19 PM Aureliano Guedes 
<guedes_1...@hotmail.com<mailto:guedes_1...@hotmail.com>> wrote:

Opa,

Yada achei muito complicado pra pouca coisa que vou fazer. Mas to convencido a 
tentar.

Breno, o truncado é por causa que estou fazendo varios downloads com o 
Parallel::ForkManager de um arquivo no formato texto, onde cada identificador é 
um dado do arquivo, como eu trabalho com milhoes desses identificadores e o 
servidor recomenda se limitar a 500 por requisição acaba que tenho que fazer 
varios downloads. So que to imprimindo tudo em STDOUT e redirecionando a saida 
pra um aarquivo estilo UNIX mesmo > , então tem varios processo tenetando 
escrever na tela ao mesmo tempo, eu pensei em fazer um lock mas acho q isso vai 
fazer demorar.


Exatamente aqui é o problema, IPC::ShareTable ou algo assim deve resolver. 
Alguma sujestão de solução ?


my $pm = new Parallel::ForkManager($req);
while(my $id = <$IN>){
$cnt++;
chomp $id;
if ($cnt == $split || $. == $nl){ #$split = 500;
push @ids, $id;
my @tmp = @ids;
undef @ids;
$cnt = 0;
$pm->start and next; # do the fork
my @resp = get_fasta(\@tmp, $db, $timeout);
if ($resp[0]){
$resp[1] =~ s/^\s*\n+//mg;
print STDOUT $resp[1];
}
else{
print STDERR "Status: $resp[2]\n$resp[3]\nDetails: $resp[1]\n";
print STDERR join (" ", "Fail:", @tmp, "\n");
}
$pm->finish; #tihs is a fork, at the end (here) the memory will be released
}
else{
push @ids, $id;
}
}
$pm->wait_all_children;




From: Rio-pm 
<rio-pm-bounces+guedes_1000=hotmail@pm.org<mailto:hotmail@pm.org>> on 
behalf of breno <oainikus...@gmail.com<mailto:oainikus...@gmail.com>>
Sent: Wednesday, May 24, 2017 3:54:47 AM
To: Perl Mongers Rio de Janeiro
Subject: Re: [Rio-pm] Metodos de Download em Massa


Oi Aureliano,

se você está interessado em benchmarks, pode experimentar o LWP::Curl em vez do 
Furl, ou se tiver paciência pra ir direto ao metal, Net::Curl ou WWW::Curl.

O que quer dizer com "truncado"? Se a conexão cai depois de X bytes baixados (e 
se vc consegue garantir que o arquivo parcial contém apenas dados válidos), vc 
pode baixar só o que falta e depois juntar os dois pedaços na mão. Por exemplo, 
se o arquivo parcial foi baixado em "parcial.tmp":

-8<-
my $ua = Furl->new;
my $res = $ua->get( 'http://exemplo.com/arquivo.tmp', Range => 'byes=' . -s 
'parcial.tmp' . '-');
open my $ fh, '>>', 'parcial.tmp;
print $fh, $res->content;
close $fh;
-8<-

(código não testado, estou no celular)

Se o servidor suporta conteúdo parcial (ele responde o primeiro request com 
Accept-Ranges), isso deve baixar o resto do arquivo. Idealmente, em vez de 
sobrescever o arquivo parcial, vc junta o conteúdo dos dois em um terceiro 
arquivo.

Finalmente, se quiser baixar vários pedaços do arquivo em paralelo, pode 
experimentar o HTTP::Range e o LWP::Parallel::UserAgent, ou se inspirar neles e 
implementar sua própria solução paralela com Furl ou LWP::Curl.

[]s
-b

On 23:26, Tue, 23 May 2017 Aureliano Guedes, 
<guedes_1...@hotmail.com<mailto:guedes_1...@hotmail.com>> wrote:

Ola Monges,


Gostaria de saber qual metodo vocês mais gostam para fazer downloads em massa.

Eu usava muito LWP, recentemente comecei usar uma combinação de 
Parallel::ForkManager e Furl, mas pra meu tipo de dado tem truncado parte dos 
download. (vale uma dica pra lidar com dados truncados?)

No meu caso, eu to fazendo download de mais me milhoes de sequencias, pra isso 
eu sigo a regra do servidor e peço apenas 500 por vez e limito em 10 fork.

Tem outros metodos que posso usar mas acabo perdendo e muito a eficiência. Por 
isso pretendo testar um benchmark em varias formas diferentes.

Bom, sei que existem ferramentas, BioPerl, etc...

Abraços,
acpguedes

___
Rio-pm

Re: [Rio-pm] Metodos de Download em Massa

2017-05-24 Por tôpico Aureliano Guedes
Opa,

Yada achei muito complicado pra pouca coisa que vou fazer. Mas to convencido a 
tentar.

Breno, o truncado é por causa que estou fazendo varios downloads com o 
Parallel::ForkManager de um arquivo no formato texto, onde cada identificador é 
um dado do arquivo, como eu trabalho com milhoes desses identificadores e o 
servidor recomenda se limitar a 500 por requisição acaba que tenho que fazer 
varios downloads. So que to imprimindo tudo em STDOUT e redirecionando a saida 
pra um aarquivo estilo UNIX mesmo > , então tem varios processo tenetando 
escrever na tela ao mesmo tempo, eu pensei em fazer um lock mas acho q isso vai 
fazer demorar.


Exatamente aqui é o problema, IPC::ShareTable ou algo assim deve resolver. 
Alguma sujestão de solução ?


my $pm = new Parallel::ForkManager($req);
while(my $id = <$IN>){
$cnt++;
chomp $id;
if ($cnt == $split || $. == $nl){ #$split = 500;
push @ids, $id;
my @tmp = @ids;
undef @ids;
$cnt = 0;
$pm->start and next; # do the fork
my @resp = get_fasta(\@tmp, $db, $timeout);
if ($resp[0]){
$resp[1] =~ s/^\s*\n+//mg;
print STDOUT $resp[1];
}
else{
print STDERR "Status: $resp[2]\n$resp[3]\nDetails: $resp[1]\n";
print STDERR join (" ", "Fail:", @tmp, "\n");
}
$pm->finish; #tihs is a fork, at the end (here) the memory will be released
}
else{
push @ids, $id;
}
}
$pm->wait_all_children;




From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail@pm.org> on behalf of breno 
<oainikus...@gmail.com>
Sent: Wednesday, May 24, 2017 3:54:47 AM
To: Perl Mongers Rio de Janeiro
Subject: Re: [Rio-pm] Metodos de Download em Massa


Oi Aureliano,

se você está interessado em benchmarks, pode experimentar o LWP::Curl em vez do 
Furl, ou se tiver paciência pra ir direto ao metal, Net::Curl ou WWW::Curl.

O que quer dizer com "truncado"? Se a conexão cai depois de X bytes baixados (e 
se vc consegue garantir que o arquivo parcial contém apenas dados válidos), vc 
pode baixar só o que falta e depois juntar os dois pedaços na mão. Por exemplo, 
se o arquivo parcial foi baixado em "parcial.tmp":

-8<-
my $ua = Furl->new;
my $res = $ua->get( 'http://exemplo.com/arquivo.tmp', Range => 'byes=' . -s 
'parcial.tmp' . '-');
open my $ fh, '>>', 'parcial.tmp;
print $fh, $res->content;
close $fh;
-8<-

(código não testado, estou no celular)

Se o servidor suporta conteúdo parcial (ele responde o primeiro request com 
Accept-Ranges), isso deve baixar o resto do arquivo. Idealmente, em vez de 
sobrescever o arquivo parcial, vc junta o conteúdo dos dois em um terceiro 
arquivo.

Finalmente, se quiser baixar vários pedaços do arquivo em paralelo, pode 
experimentar o HTTP::Range e o LWP::Parallel::UserAgent, ou se inspirar neles e 
implementar sua própria solução paralela com Furl ou LWP::Curl.

[]s
-b

On 23:26, Tue, 23 May 2017 Aureliano Guedes, 
<guedes_1...@hotmail.com<mailto:guedes_1...@hotmail.com>> wrote:

Ola Monges,


Gostaria de saber qual metodo vocês mais gostam para fazer downloads em massa.

Eu usava muito LWP, recentemente comecei usar uma combinação de 
Parallel::ForkManager e Furl, mas pra meu tipo de dado tem truncado parte dos 
download. (vale uma dica pra lidar com dados truncados?)

No meu caso, eu to fazendo download de mais me milhoes de sequencias, pra isso 
eu sigo a regra do servidor e peço apenas 500 por vez e limito em 10 fork.

Tem outros metodos que posso usar mas acabo perdendo e muito a eficiência. Por 
isso pretendo testar um benchmark em varias formas diferentes.

Bom, sei que existem ferramentas, BioPerl, etc...

Abraços,
acpguedes

___
Rio-pm mailing list
Rio-pm@pm.org<mailto: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] Metodos de Download em Massa

2017-05-23 Por tôpico Aureliano Guedes
Ola Monges,


Gostaria de saber qual metodo vocês mais gostam para fazer downloads em massa.

Eu usava muito LWP, recentemente comecei usar uma combinação de 
Parallel::ForkManager e Furl, mas pra meu tipo de dado tem truncado parte dos 
download. (vale uma dica pra lidar com dados truncados?)

No meu caso, eu to fazendo download de mais me milhoes de sequencias, pra isso 
eu sigo a regra do servidor e peço apenas 500 por vez e limito em 10 fork.

Tem outros metodos que posso usar mas acabo perdendo e muito a eficiência. Por 
isso pretendo testar um benchmark em varias formas diferentes.

Bom, sei que existem ferramentas, BioPerl, etc...

Abraços,
acpguedes
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] (sem assunto)

2017-03-25 Por tôpico Aureliano Guedes
Eu resolvi o problema, era so eu retornar um array de resultados da recurção 
[caso tenha] e incluir juntar com o array da interação anterior sempre que 
terminar uma das recurções.

Quanto a dúvida da string, seria forçar uma string vazia (uma string que não 
está guardando nenhuma referência) virar um array;

my @a = qw(a b c d e);

my $b = \@a; #isso é uma string com o endereço de memoria do array (referÊncia)

my $b;

@$b = qw(a b c d e); #isso é um array forçado

mas a dúvida é, o que fica em $b?
Pelo que me parece ele cria automaticamente uma referência pra um array anonimo 
que dereferenciado por @$b

O que me leva a crer que
my @a = qw(a b c d e);

my $b = \@a;


é o mesmo que

my $b ;

@$b = qw(a b c d e);j


From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail@pm.org> on behalf of Andre 
Carneiro <andregarciacarne...@gmail.com>
Sent: Friday, March 24, 2017 4:54:22 PM
To: Perl Mongers Rio de Janeiro
Subject: Re: [Rio-pm] (sem assunto)

Creio que você esteja pensando nisso errado!

Se vc tem uma String em $S, você não tem uma referência para array @A. Se você 
quer uma referência do array @A em $S, você pode fazer:

my $S = \@A;

Eu sugiro que você use Data::Printer ou mesmo Data::Dumper para ver o conteúdo 
das variáveis.

Quanto ao problema da string, não sei se entendi o que vc quer. Vou dizer como 
transformar uma string em array sem usar 'join'.


use strict;
use warnings;
use feature qw/say/;
use Data::Printer colored => 1;

my $s = "WHATEVER";
my @A = split //,$s;

print p @A;







2017-03-22 19:14 GMT-03:00 Aureliano Guedes 
<guedes_1...@hotmail.com<mailto:guedes_1...@hotmail.com>>:

Olá monges,

Estou com uma série de dúvidas relacionada a uma rotina que estou fazendo;

Dado um hash de arrays eu preciso construir uma hierarquia não redundante dos 
valores desse array.

Tudo esta explicado melhor em :
http://pastebin.com/64fJvYr6


Duas dúvidas surgiram meio essa questão
1- Como forçar uma string virar um array sem fazer join dos valores, sendo que 
a string não está guardando uma referência?
Algo como:
my $s;
@$s = qw(a b c d e);


2- Se eu tenho uma string $S que guarda uma referencia para um array @A, essa 
string está dentro de uma rotina e a rotina é recursiva, e precisa enviar os 
valores da string S para a recursão, o que deve ser enviado é a string $S ou o 
array @$S?

sub teste{

my ($S) = @_;

teste(\@$S) # ou simplesmente $S?
}

Desde já grato.

Att,
acp

___
Rio-pm mailing list
Rio-pm@pm.org<mailto:Rio-pm@pm.org>
http://mail.pm.org/mailman/listinfo/rio-pm



--
André Garcia Carneiro
Software Engineer
(11)982907780
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Função uniq com bug ou erro no codigo?

2017-03-06 Por tôpico Aureliano Guedes
Verdade, um simples chomp; antes do código resolve.

To enferrujado



From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail@pm.org> on behalf of 
Nicole Scherer <bionica2007-p...@yahoo.com>
Sent: Monday, March 6, 2017 4:30:39 PM
To: Perl Mongers Rio de Janeiro
Subject: Re: [Rio-pm] Função uniq com bug ou erro no codigo?

Oi Aureliano,

Já testaste usar um chomp antes do split?

[]'s
Nicole



Em Domingo, 5 de Março de 2017 13:36, Aureliano Guedes 
<guedes_1...@hotmail.com> escreveu:


Ola,
Caros Monges.

Estou com uma pequena dúvida.
Estou usando a função uniq (List::Util e List::MoreUtils) para reduzir a 
redundância de um array.

echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -MList::Util='uniq' -MDDP -ne 
'@a = uniq (split (/\+/, $_)); print "\n"; p @a; print "\n"'

Separa os elementos pelo '+' e depois remove a redundância. Acontece que o 
ultimo elemento for redundante ele não é eliminado.

Alguém sabe o porque disso??

Alguma sujestão de como reverter sem q eu tenha que criar um script pra isso ou 
minha propria rotina uniq??

Desde já grato.

___
Rio-pm mailing list
Rio-pm@pm.org<mailto: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] Função uniq com bug ou erro no codigo?

2017-03-05 Por tôpico Aureliano Guedes
Obrigado, era so o chomp mesmo.

Perl6 é interessante mas pra agora não seria ideal.
A solução com array seria a melhor talvez, mas ate tentei

echo "WXG+WXG+PT-COG5412+Tox-SHH+TM+TM+TM+TM" | perl -MDDP -nE 'foreach(split 
/\+/){$a{$_}++}; p %a'


Mas deu problema que fiquei com preguissa de tratar. saiu linha em branco e a 
ultima repetição.

Obrigado monges



From: Rio-pm <rio-pm-bounces+guedes_1000=hotmail@pm.org> on behalf of 
Fernando Oliveira <fernandocor...@gmail.com>
Sent: Sunday, March 5, 2017 5:15:08 PM
To: Perl Mongers Rio de Janeiro
Subject: Re: [Rio-pm] Função uniq com bug ou erro no codigo?

echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl6 -n 'say set .split: "+"'

Enviado do meu iPhone

Em 5 de mar de 2017, às 13:59, Fernando Oliveira 
<fernandocor...@gmail.com<mailto:fernandocor...@gmail.com>> escreveu:

Eu não sei qual é o problema, mas tenho uma sugestão de solução (código não 
testado, tô no celular):
echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -nE '%a{split "+"}++; say 
keys %a}'

Enviado do meu iPhone

Em 5 de mar de 2017, às 13:51, Lucas Mateus 
<lucasmateus.olive...@gmail.com<mailto:lucasmateus.olive...@gmail.com>> 
escreveu:

É algum bug no código

echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | xargs perl -MList::Util=uniq -MDDP 
-e '@a=uniq(split(/\+/,$ARGV[0]));p @a'

Em 5 de março de 2017 13:35, Aureliano Guedes 
<guedes_1...@hotmail.com<mailto:guedes_1...@hotmail.com>> escreveu:

Ola,

Caros Monges.

Estou com uma pequena dúvida.
Estou usando a função uniq (List::Util e List::MoreUtils) para reduzir a 
redundância de um array.


echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -MList::Util='uniq' -MDDP -ne 
'@a = uniq (split (/\+/, $_)); print "\n"; p @a; print "\n"'


Separa os elementos pelo '+' e depois remove a redundância. Acontece que o 
ultimo elemento for redundante ele não é eliminado.

Alguém sabe o porque disso??

Alguma sujestão de como reverter sem q eu tenha que criar um script pra isso ou 
minha propria rotina uniq??

Desde já grato.

___
Rio-pm mailing list
Rio-pm@pm.org<mailto:Rio-pm@pm.org>
http://mail.pm.org/mailman/listinfo/rio-pm

___
Rio-pm mailing list
Rio-pm@pm.org<mailto: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] Função uniq com bug ou erro no codigo?

2017-03-05 Por tôpico Aureliano Guedes
Ola,

Caros Monges.

Estou com uma pequena dúvida.
Estou usando a função uniq (List::Util e List::MoreUtils) para reduzir a 
redundância de um array.


echo "SP+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM+TM" | perl -MList::Util='uniq' -MDDP -ne 
'@a = uniq (split (/\+/, $_)); print "\n"; p @a; print "\n"'


Separa os elementos pelo '+' e depois remove a redundância. Acontece que o 
ultimo elemento for redundante ele não é eliminado.

Alguém sabe o porque disso??

Alguma sujestão de como reverter sem q eu tenha que criar um script pra isso ou 
minha propria rotina uniq??

Desde já grato.
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] (sem assunto)

2016-11-10 Por tôpico Aureliano Guedes
Ola monges,


Tenho uma pergunta simples pra vocês.


Eu tenho um script que abre um arquivo e printa o resultado na saida padrão.

Os parâmetros adicionais são processados via Getopt::Long;


Bom, o que eu queria era fazer algo mais Unix style.


Quero poder receber o nome do arquivo para abrir ou poder redirecionar a saida 
padrão pro script caso esteja em um pipeline.


Por exemplo, hoje, se eu der um grep em um arquivo pra depois passar pro script 
eu tenho que fazer:

$ grep '' arquivo >arquivo.tmp

$ script.pl arquivo.tmp


Eu quero poder fazer algo no estilo

$ grep '' arquivo | script.pl


Como eu poderia fazer isso? lembrando que eu posso passar pro script mais 
parametros se precisar


Abraços,
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] [HELP] Getopt::Long multiplos parametros por opção

2016-09-08 Por tôpico Aureliano Guedes
Monges,Boa noite.
Estou tentando fazer um script que abre varios arquivos recebido pela linha de 
comando.
A ideia é que ele rode com comando semelhante a esse:./programa -f file1 file2 
file3 ... filen
Ou seja, independe da quantidade de arquivos.

eu to tentando algo do tipo:
use Getopt::Long;my @files;GetOptions("f=s{2}" => \@files,) or die 
"erro";print $_,"\n" foreach @files;
Porem assim eu tenho que passar exatamente 2 parametros. 1 ou 3 da erro, 
logicamente.
Eu queria saber como eu faço pra ele ser flexivel para receber 1 ou n 
parametros que o usuário passar.
Como devo fazer?
Abraços,Aureliano 

  
Livre de vírus. www.avast.com.  


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

Re: [Rio-pm] RES: RES: [SP-pm] Testando o Slack (https://brazil-pm.slack.com)

2016-04-30 Por tôpico Aureliano Guedes
Podem me convidar, também?

Date: Sat, 30 Apr 2016 08:29:43 -0300
From: dtos...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] RES: RES: [SP-pm] Testando o Slack
(https://brazil-pm.slack.com)

Podem me convidar?
Em 18/04/2016 15:33, "Gabriel Vieira"  escreveu:
http://www.nyctechslack.com/ Podemos ter algo assim.



2016-04-17 8:48 GMT-04:00 astec :

> Brigado turma

>

>

>

> Julio cezar

>

>

>

> De: Rio-pm [mailto:rio-pm-bounces+astec=centroin.com...@pm.org] Em nome de

> Otávio Fernandes

> Enviada em: domingo, 17 de abril de 2016 06:25

> Para: Perl Mongers Rio de Janeiro

> Assunto: Re: [Rio-pm] RES: [SP-pm] Testando o Slack

> (https://brazil-pm.slack.com)

>

>

>

>

>

> 2016-04-16 13:07 GMT+02:00 astec :

>

> as...@centroin.com.br

>

>

>

> Opa! Desculpa a demora, mas segue o convite.

>

> abraço,

>

>

> -- OF

>

>

> ___

> 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 

  
Livre de vírus. www.avast.com.  


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

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

2016-04-12 Por tôpico 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 CGGOutros:
F -> TTC || TTTL -> 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 TR = A ou GN = 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] Dúvida com split

2014-11-07 Por tôpico Aureliano Guedes
Ola monges,

Tenho uma dúvida simples.
Digamos que eu tenha uma string com uma sequencia de RNA:
$rna = 'AUGACGAAGCGUUGAUCC';
Só hipotético mesmo.

Então quero agrupar de 3 em 3 letras (nucleotídeos) formando codons:
AUG ACG AAG CGU UGA UCC

Para isso eu acho conveniente colocar em um array, e faço isso usando um split
my @codons = split /condição/, $dna;

O meu problema é na condição, não estou conseguindo uma condição para agrupar 
de 3 em 3 letras já tentei:
/(A|C|U|G){3}/
/(A|C|U|G)(A|C|U|G)(A|C|U|G)/
/(d+){3}/
/d+\d+\d+\/
/d+{3}/
/d+d+d+/
Ate tentei mexer no split
my @codons = /(A|U|C|G)/, $rna, 3;

Sei que a dúvida é besta, mas alguém de daria uma luz?
Obrigado. 
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Download

2014-11-07 Por tôpico Aureliano Guedes
Ajudou muito, não conhecia o Entrez.
Obrigado.

From: leprevos...@gmail.com
To: rio-pm@pm.org
Date: Thu, 6 Nov 2014 08:27:54 -0200
Subject: Re: [Rio-pm] [HELP] Download






Oi Aureliano,

 

  Não sei se você já ouviu falar do NCBI Entrez Direct ou se já o utilizou 
alguma vez,
  ams nesse caso acredito que ele possa ser mais útil. O Entrez Direct é um 
conjunto de
  scripts bash e Perl que o NCBI forneceu para que quisesse realizar
  algum tipo de acesso mais avançado aos seus bancos de dados, e
  de forma programática.

 

  veja aqui mais informações sobre o 
  
  Entrez Direct: http://www.ncbi.nlm.nih.gov/books/NBK179288/

 

  Bom, vamos ao seu problema agora; O que você está querendo fazer é
  baixar pelo terminal uma sequencia do banco de nucleotídeos certo?
  De acordo com a documentação do Entrez Direct você vai precisar
  usar o seguinte comando:

 

  ./esearch -db nucleotide -query AL123456 [ACN] | ./efetch
  -format fasta

 

  O eDirect funciona encadeando os scripts, nesse caso eu estou
  usando 2 deles, o esearch para a busca e o efetch para o download.
  Você pode ver na página do livro (o link que passei acima) todos
  os parâmetros que existem, da pra fazer muita coisa com esses
  scripts deles.

 

  Então, para salvar em um arquivo a sequencia do genoma basta
  direcionar o comando acima:

 

  ./esearch -db nucleotide -query AL123456 [ACN] | ./efetch
  -format fasta  genome.fa

 

  e pronto, seu genoma foi baixado e salvo.

 

  Espero que dessa forma você consiga contornar o problema que lhe
  impedia de usar o wget ou o ftp para o download.

 

  abraços

 
 
 
On 05-11-2014 23:57, Aureliano Guedes
  wrote:

Ola Monges,

 

tenho uma dúvida que talvez seja um pouco específica,
provavelmente voltada para bioinformatas.

 

Bom precisava fazer o download desse arquivo
(http://www.ncbi.nlm.nih.gov/nuccore/AL123456.3?report=fastalog$=seqview).

 

Só que não posso fazer de qualquer forma, precisava que fosse um
script executando o wget ou ftp.

 

O problema é fazer o download através do wget que estou com
dificuldade. 

 

Seria basicamente um 'system 'wget .'' só não estou sabendo
como fazer.

 

Alguém aqui poderia me ajudar com o wget?

 

No final, só preciso gerar um arquivo no formato fasta.

 

Ex:


gi|444893469|emb|AL123456.3| Mycobacterium tuberculosis
H37Rv complete genome
TTGACCGATGAGGTTCAGGCTTCACCACAGTGTGGAACGCGGTCGTCTCCGAACTTAACGGCGACC 
CTAAGGTTGACGACGGACCCAGCAGTGATGCTAATCTCAGCGCTCCGCTGATCAGCAAAGGGCTTG 
GCTCAATCTCGTCCAGCCATTGACCATCGTCGATTTGCTCTGTTATCCGTGCCGAGCAGCTTTGTC 
CCGAAATCGAGCGCCATCTGCGGGGATTACCGACGCTCTCAGCCGCCGACTCGGACATCAGA

 
 
 
 
___
Rio-pm mailing list
Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
 
-- 
Felipe da Veiga Leprevost, PhD.
www.leprevost.com.br
Laboratory for Proteomics and Protein Engineering.
Fiocruz, Brazil.
--
Felipe





___
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] Dúvida com split

2014-11-07 Por tôpico Aureliano Guedes
Obrigado. Ajudou muito mesmo.
Vou salvar aqui pois depois posso precisar dessas dicas.

Enrique Pessoa enrique.pes...@rrd.com escreveu:

Aureliano,

Sobre, \w, \W, \s, \S, mais informações em
http://perldoc.perl.org/perlre.html#Regular-Expressions , item Character
Classes and other Special Escapes.

Para casar apenas com um A, C, U ou G você deveria usar /[ACUG]/. Para
casar com 3 dessas letras acrescente {3} para indicar 'três vezes', assim: /
[ACUG]{3}/

No caso da sequências de caracteres com as quais você está trabalhando (que
contém sempre apenas essas letras), todas as outras opções abaixo são
válidas, mas não necessariamente apropriadas.
/.{3}/ - três caracteres quaisquer
/\w{3}/ - três letras
/\D{3}/ - três não digitos
/\S{3}/ - três não espaço
/[^vV]{3}/ - três caracteres que não sejam a letra v
/[ACUG]{3}/i - três caracteres que sejam A, C, U ou G (podendo ser
minúsculas)


Quanto às formas de se obter partes de uma sequência de caracteres, eu só
tenho o hábito de usar split quando quero remover o delimitador.

my $lista_de_numeros = '12,23,34';
my $delimitador = ',';
my @numeros = split($delimitador, $lista_de_numeros);


Uma outra forma possível de fazer esse mesmo trabalho é:

my @codons;
# global continue pegando de um a três caracteres (para caso len($ma) mod 3
não dê zero)
while ($ma =~ /\G(.{1,3})/gc) {
  push @codons, $1;
}

Abraços,

Enrique Pessôa

*Enrique Pessôa | Technology Products Manager, Brazil | RR Donnelley |
Global Capital Markets*
+55 21 2103.0508 | enrique.pes...@rrd.com | +55 21 9.8127.0077

* http://www.infoinvest.com.br/ | 15 anos de tecnologia para RI | Clique
para conferir
https://www.youtube.com/watch?v=gkxxbshF4Icfeature=youtu.be*


Em 7 de novembro de 2014 12:51, Daniel Vinciguerra 
dan.vincigue...@gmail.com escreveu:

 pode usar o split mesmo...

 my @array = split '(\w{3})', $rna;


 *Daniel Vinciguerra (@dvinciguerra)*
 Web solution architect, perl dev, vegetarian, geek and co-founder at
 *Bivee*
 bivee.com.br  -  github.com/Bivee

 2014-11-07 12:03 GMT-02:00 Aureliano Guedes guedes_1...@hotmail.com:

 Funcionou, o fato é que ainda não aprendi bem regex então não conhecia o
 \w. Mas compreendi completamente o código.
 Obrigado.

 --
 Date: Fri, 7 Nov 2014 11:47:06 -0200
 From: leprevos...@gmail.com
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Dúvida com split


 Oi Aureliano,

 tenta o seguinte:

 my @codons = $rna =~ m/\w{3}/g;

 abraços


 On 07-11-2014 11:44, Aureliano Guedes wrote:

 Ola monges,

 Tenho uma dúvida simples.
 Digamos que eu tenha uma string com uma sequencia de RNA:
 $rna = 'AUGACGAAGCGUUGAUCC';
 Só hipotético mesmo.

 Então quero agrupar de 3 em 3 letras (nucleotídeos) formando codons:
 AUG ACG AAG CGU UGA UCC

 Para isso eu acho conveniente colocar em um array, e faço isso usando um
 split
 my @codons = split /condição/, $dna;

 O meu problema é na condição, não estou conseguindo uma condição para
 agrupar de 3 em 3 letras já tentei:
 /(A|C|U|G){3}/
 /(A|C|U|G)(A|C|U|G)(A|C|U|G)/
 /(d+){3}/
 /d+\d+\d+\/
 /d+{3}/
 /d+d+d+/
 Ate tentei mexer no split
 my @codons = /(A|U|C|G)/, $rna, 3;

 Sei que a dúvida é besta, mas alguém de daria uma luz?
 Obrigado.


 ___
 Rio-pm mailing listRio-pm@pm.orghttp://mail.pm.org/mailman/listinfo/rio-pm


 --
 Felipe da Veiga Leprevost, PhD.www.leprevost.com.br
 Laboratory for Proteomics and Protein Engineering.
 Fiocruz, Brazil.


 ___ 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] Dúvida com split

2014-11-07 Por tôpico Aureliano Guedes
Eu conheço o BioPerl. Mas eu preciso fazer essas pequenas rotinas eu mesmo. 
Porque alem de serem pequenas pra  necessitar de módulos externos, fica mais 
portável para sistemas que nao possuem o BioPerl instalado. E também são 
exercícios.
Mesmo assim obrigado.

Andre Carneiro andregarciacarne...@gmail.com escreveu:

Aureliano,

Você considerou usar Bioperl, para auxiliá-lo na 'lida' com bioinformática?

É uma biblioteca bastante madura e amplamente usada. Seria bom dar uma
olhada - http://www.bioperl.org/wiki/Main_Page

https://metacpan.org/pod/distribution/BioPerl/BioPerl.pm


Atenciosamente

2014-11-07 20:35 GMT-02:00 Ronaldo Ferreira de Lima jimmy@gmail.com:

 Saudações Aureliano,

 On Fri, Nov 07, 2014 at 02:03:08PM +, Aureliano Guedes wrote:
 [...]
  o fato é que ainda não aprendi bem regex então não conhecia \w.
 [...]
 Sendo regexp uma limitação, você  poderia fazer a manipulação de strings
 sem  o  uso  de  regexp  neste caso.  Dois  exemplos  (de  provavelmente
 dezenas):

 1. # Obs.: Destrói o conteúdo de $rna
my @condom;
push @condom, substr $rna, 0, 3, q() while length $rna  2;

 2. # Trata o conteúdo da scalar $rna como um filehandle
local $/ = \3;
open my $fh, q(), \$rna;
my @condom = $fh;

 []'s
 --
 Não manejo bem as palavras
 Mas manipulo bem as strings.
 --
 http://tecnoveneno.blogspot.com
 ___
 Rio-pm mailing list
 Rio-pm@pm.org
 http://mail.pm.org/mailman/listinfo/rio-pm




--
André Garcia Carneiro
Software Engineer
(11)982907780
___
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] Modulos Publicados no CPAN e Lattes

2014-10-25 Por tôpico Aureliano Guedes
Ola, Monges

Tenho uma dúvida simples.

Não sei se alguém aqui é da área acadêmica ou usa o currículo na plataforma 
Lattes.

O que queria saber é se posso colocar os módulos publicados no CPAN no Lattes? 
Se sim, como?

Entra como programa com registro ou sem registro?

Obrigado.
Att,
Aureliano Guedes
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Modulos Publicados no CPAN e Lattes

2014-10-25 Por tôpico Aureliano Guedes
Hahaha.
Eu também vi isso. Mas eu tenho lattes a um bom tempo. Sou sensato.
Mas estou acostumado colocar artigos, nunca coloquei um programa.
Mas é so pra saber vou cocar minhas aplicações de bioinformática.

Samir Cury samircu...@gmail.com escreveu:

Aureliano, acho que e tranquilo, desde que ajude o curriculo a cumprir seu
papel.

Um tempo atras vi uma galera achando que Lattes era perfil do Orkut e
escrevendo muita coisa sem nocao. Desde que tenha bom senso, esta valendo.

Abs

2014-10-25 5:09 GMT-07:00 Aureliano Guedes guedes_1...@hotmail.com:

  Certo. Obrigado mesmo.

 Felipe da Veiga Leprevost leprevos...@gmail.com escreveu:

  Oi Aureliano,

 Eu listo os módulos como software sem registro, e no tipo de software eu
 seleciono 'bibliotecas (libraries)'. Costumo colocar apenas os módulos
 relacionados à área acadêmica.

  --
  Felipe Leprevost



 On Sat, Oct 25, 2014, at 10:02 AM, Aureliano Guedes wrote:

 Ola, Monges

 Tenho uma dúvida simples.

 Não sei se alguém aqui é da área acadêmica ou usa o currículo na
 plataforma Lattes.

 O que queria saber é se posso colocar os módulos publicados no CPAN no
 Lattes? Se sim, como?

 Entra como programa com registro ou sem registro?

 Obrigado.
  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

___
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] Problema com o PhantomJS

2014-10-20 Por tôpico Aureliano Guedes
Bruno, qual exatamente o erro que retorna ao executar esse script?
Date: Mon, 20 Oct 2014 12:07:13 -0300
From: bruno.macab...@gmail.com
To: rio-pm@pm.org
Subject: [Rio-pm] Problema com o PhantomJS

Boa tarde,
sou Bruno, conhecido do Aureliano e ele me sugeriu pedir suporte aqui.
O problema que estou tendo no Perl é durante a construção do 
PhantomJS.Considere o seguinte código (uma versão bem resumida do que estou de 
fato desenvolvendo):#!usr/bin/env perl

use common::sense;
use WWW::Mechanize::PhantomJS;

my $phantom = WWW::Mechanize::PhantomJS-new();

__END__

Baixando o PhantomJS e colocando o caminho dele na variável de ambiente Path, 
eu consigo executa-lo com sucesso em um determinado computador de casa. Porém, 
fazendo o mesmo em outro computador, não funciona. Recebo a mensagem selenium 
server did not return proper status na linha do construtor.A versão do módulo 
PhantomJS que estou usando é a 0.10, em ambos computadores. Estou usando o 
interpretador Strawberry.Não sei se é relevante, mas o computador que funciona 
é Windows 8. No que não funciona é Windows 7.


Também estou pedindo suporte no PerlMonks.

___
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] Problema com o PhantomJS

2014-10-20 Por tôpico Aureliano Guedes
Bruno, eu testei esse script em uma maquina rodando Windows 8.1 x64 usando a 
ultima versão estável do WWW::Mechanize::PhantomJS (versão 0.11).Não me 
retornou erro algum.Mas você me falou que já foi testado em varias máquinas e 
retornou esse erro, certo?
Esse erro parece erro de comunicação com o servidor. 
Faz o seguinte, coloca o PhantomJS no mesmo diretório onde encontra-se seu 
script, execute-o e veja se retorna algo.
Date: Mon, 20 Oct 2014 12:40:23 -0300
From: bruno.macab...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Problema com o PhantomJS

Aureliano, o erro completo é:Selenium server did not return proper status at 
(eval 48) line 61.
Em 20 de outubro de 2014 12:28, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:



Bruno, qual exatamente o erro que retorna ao executar esse script?
Date: Mon, 20 Oct 2014 12:07:13 -0300
From: bruno.macab...@gmail.com
To: rio-pm@pm.org
Subject: [Rio-pm] Problema com o PhantomJS

Boa tarde,
sou Bruno, conhecido do Aureliano e ele me sugeriu pedir suporte aqui.
O problema que estou tendo no Perl é durante a construção do 
PhantomJS.Considere o seguinte código (uma versão bem resumida do que estou de 
fato desenvolvendo):#!usr/bin/env perl

use common::sense;
use WWW::Mechanize::PhantomJS;

my $phantom = WWW::Mechanize::PhantomJS-new();

__END__

Baixando o PhantomJS e colocando o caminho dele na variável de ambiente Path, 
eu consigo executa-lo com sucesso em um determinado computador de casa. Porém, 
fazendo o mesmo em outro computador, não funciona. Recebo a mensagem selenium 
server did not return proper status na linha do construtor.A versão do módulo 
PhantomJS que estou usando é a 0.10, em ambos computadores. Estou usando o 
interpretador Strawberry.Não sei se é relevante, mas o computador que funciona 
é Windows 8. No que não funciona é Windows 7.


Também estou pedindo suporte no PerlMonks.

___
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] Problema entre versões

2014-10-17 Por tôpico Aureliano Guedes
Monges,
Muito obrigado. Resolvi a questão de usar a versão 0.10 pela forma que o 
Blablos indicou, depois com esse ultimo email do Breno, achei mais simples a 
forma que ele passou.
Irei torrar a paciência do autor reportando o bug, mas por hora farei como o 
Breno falou.

De qualquer forma todas as dicas me ensinaram algo.

Obrigado.

breno br...@rio.pm.org escreveu:

Aureliano,

todas as dicas até agora foram muito boas:

* A do Enrique te diz como instalar apenas a versão que vc quer do módulo,
ou fazer downgrade se necessário.
* A do Blabos mostra uma forma testada pela indústria de como fazer
instalações de aplicações forçando não só a versão de um módulo, mas de
todo o ambiente.
* A do Erik, apesar de na forma de pergunta, aponta para uma questão
importante: analisar o problema melhor, confirmar se é um problema do
módulo mesmo (ainda mais em um sistema tão heterogêneo com Perl, Selenium 
PhantomJS), perturbar o autor, e tentar trabalhar sempre com a versão
(estável) mais recente de todos esses componentes.

A minha é essa: se vc **realmente** precisa forçar uma versão específica,
pode fazer isso em runtime procurando pela variável $VERSION do módulo. Por
exemplo:

BEGIN {
use WWW::Mechanize::PhantomJS;
die por favor instale a versão 0.10 do WWW::Mechanize::PhantomJS
unless $WWW::Mechanize::PhantomJS::VERSION == 0.10;
};

Boa sorte!

[]s

-b


2014-10-17 7:41 GMT-03:00 Blabos de Blebe bla...@gmail.com:

 https://metacpan.org/pod/Carton

 2014-10-16 23:10 GMT-03:00 Enrique Pessoa enrique.pes...@rrd.com:

 fix na segunda linha cpan:

 cpan install CORION/WWW-Mechanize-PhantomJS-0.10.tar.gz

 Enrique Pessôa
 
 *Enrique Pessôa | Technology Products Manager, Brazil | RR Donnelley |
 Global Capital Markets*
 +55 21 2103.0508 | enrique.pes...@rrd.com | +55 21 9.8127.0077

 * http://www.infoinvest.com.br/ | 15 anos de tecnologia para
 RI | Clique para conferir
 https://www.youtube.com/watch?v=gkxxbshF4Icfeature=youtu.be*


 Em 16 de outubro de 2014 23:10, Enrique Pessoa enrique.pes...@rrd.com
 escreveu:

 Boa noite, Aureliano.

 Quanto a instalar uma versão que não é a mais recente. Eu nunca precisei
 disso, mas parece que dá para fazer usando o cpan shell.

 cpan o conf urllist push http://backpan.perl.org/
 cpan install CORION/WWW-Mechanize-PhantomJS-0.10


 Agora... experimente verificar se a interface dessa biblioteca não mudou
 de uma versão para a outra. Pode ser esse o motivo de não conectar.

 Abraços,
 Enrique



 Enrique Pessôa
 
 *Enrique Pessôa | Technology Products Manager, Brazil | RR Donnelley |
 Global Capital Markets*
 +55 21 2103.0508 | enrique.pes...@rrd.com | +55 21 9.8127.0077

 * http://www.infoinvest.com.br/ | 15 anos de tecnologia para
 RI | Clique para conferir
 https://www.youtube.com/watch?v=gkxxbshF4Icfeature=youtu.be*


 Em 16 de outubro de 2014 21:53, Aureliano Guedes 
 guedes_1...@hotmail.com escreveu:

 Na verdade, eu acredito que a versão mais nova do módulo esta bugada,
 esta gerando erro de conecção com o servidor, da versão 0.10 para a 0.11 a
 diferença são de 8 dias, e é muito recente, mandei um e-mail para o autor
 mas ele ainda não respondeu.
 Depois reporto o bug mais formalmente.

 --
 Date: Thu, 16 Oct 2014 21:16:39 -0300
 From: cont...@erikhenrique.com.br
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Problema entre versões


 Vc não pode migrar esse script para usar a versão mais nova?

 Conexão*

 Abs
 Em 16/10/2014 20:51, Aureliano Guedes guedes_1...@hotmail.com
 escreveu:

 Ola Monges,

 Fiz um pequeno script que usa o WWW::Mechanize::PhantomJS
 http://search.cpan.org/~corion/WWW-Mechanize-PhantomJS-0.11/lib/WWW/Mechanize/PhantomJS.pm
 .
 Tudo funciona corretamente, so que funciona quando a versão do
 PhantomJS é a 0.10 que foi publicada dia 01/10/2014.
 A ultima versão, a 0.11, é do dia 09/10/2014, e quando tento executar o
 mesmo script com essa versão da erro de conecção com servidor.

 Acontece quem um dos computadores esta a versão OK a 0.10, no outro dei
 a bobeira de atualizar para a 0.11 e portanto começou a dar o bug.

 Queria saber como faço para forçar o script só executar com a versão
 0.10.

 É alguma coisa no 'use'? Tipo?
 use WWW::Mechanize::PhantomJS::0.10;
 ou
 use WWW::Mechanize::PhantomJS 'version 0.10';

 como faço isso?

 Além disso, tem como remover a versão 0.11 do pc e instalar a 0.10?

 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

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




 ___
 Rio-pm

[Rio-pm] Problema entre versões

2014-10-16 Por tôpico Aureliano Guedes
Ola Monges,

Fiz um pequeno script que usa o WWW::Mechanize::PhantomJS.
Tudo funciona corretamente, so que funciona quando a versão do PhantomJS é a 
0.10 que foi publicada dia 01/10/2014.
A ultima versão, a 0.11, é do dia 09/10/2014, e quando tento executar o mesmo 
script com essa versão da erro de conecção com servidor.

Acontece quem um dos computadores esta a versão OK a 0.10, no outro dei a 
bobeira de atualizar para a 0.11 e portanto começou a dar o bug. 

Queria saber como faço para forçar o script só executar com a versão 0.10.

É alguma coisa no 'use'? Tipo?
use WWW::Mechanize::PhantomJS::0.10; 
ou 
use WWW::Mechanize::PhantomJS 'version 0.10';

como faço isso?

Além disso, tem como remover a versão 0.11 do pc e instalar a 0.10?

Desde já grato.
Att, 
Aureliano Guedes

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

[Rio-pm] Ajuda: download de imagem

2014-10-06 Por tôpico Aureliano Guedes
Gente,
Estou muito enferrujado quanto a programação.

Tem uma biblioteca virtual que tenho acesso e queria criar um script para 
baixar imagem por imagem de um livro qualquer.
Mas aparentemente é tudo feito em JS e acho que o método para passar as paginas 
seria por jQuery.
Não tenho certeza.

Alguém poderia me indicar um caminho? Algum material. Qualquer ajuda vale, ate 
R$ 0,50.

Site: http://bvu.ifce.edu.br/login.php
login: 20131014020101
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Problema com PP (PAR) e Variable::Magic

2014-09-30 Por tôpico Aureliano Guedes
Cara. Sempre tive problema com o PP.

Manoel Domingues Junior manoel.domingues.jun...@gmail.com escreveu:

Samir,

Esses dias, quando enfrentava problemas semelhantes de portabilidade,
conheci o carton que me ajudou muito.

Da uma olhada, ele é capaz de gerar uma pasta bundle com todas as
dependências e basta ir no servidor remoto e executar um:
carton install --cached --deployment
E depois um:
carton exec script.pl

Outra dica legal que encontrei foi usar o plenv para cuidar das versões de
perl...

Abraços,
Em 30/09/2014 15:51, Samir Cury samircu...@gmail.com escreveu:

 Galera,

 Escrevi um codigo basico para uma tarefa trivial. Problema : Usei o CPAN
 demais e tenho muitas dependencias. Vou rodar o codigo em sistemas remotos
 onde so e garantido existir o Perl + core modules.

 Pensei em usar o PAR, que ja me cria um executavel com todos os modulo
 (-B). Perfeito.

 Nem tanto. Uma vez que consigo o executavel, ele reclama de nao achar o
 Variable::Magic [1].

 Porem o .pl original roda tranquilo no mesmo sistema :

 -bash-4.1$ ./report-fjr-couch.pl --fjr=FrameworkJobReport.xml  --couchurl=
 http://a.cloudant.com --db=tr-benchmarks
 CouchDB::Client::Doc=HASH(0x1286d60)

 O erro ate fez sentido uma vez que percebi que o sistema que usei para
 gerar o executavel nao tinha o Variable::Magic instalado. Imaginei que
 instalando e rodando de novo com -B iria incluir o modulo. Nada.

 Sendo mais concreto, aqui estao os pp s que tentei :

 pp -B  -o report-fjr-couch report-fjr-couch.pl
 pp -B -P -o report-fjr-couch report-fjr-couch.pl
 pp -B -p -o report-fjr-couch report-fjr-couch.pl

 Mesmo problema em todos.

 Descricao das opcoes :

 http://search.cpan.org/~rschupp/PAR-Packer-1.022/lib/pp.pm

 Caso queiram ver o codigo, aqui esta, mas fiquem tranquilos, admito e sei
 que nao foi feito para ser bonito, mas funciona :


 https://github.com/samircury/CMSSW-benchmarks/blob/master/condor/report-fjr-couch.pl

 Alguem ja passou por uma situacao parecida ou teria dicas de como resolver?

 Valeu!

 [1] :

 -bash-4.1$ ./report-fjr-couch --fjr=FrameworkJobReport.xml  --couchurl=
 http://a.cloudant.com --db=tr-benchmarks
 Could not find a suitable B::Hooks::EndOfScope implementation: Can't
 locate Variable/Magic.pm in @INC (@INC contains: CODE(0x1e1aca0)
 /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib
 /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc
 CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317.
 BEGIN failed--compilation aborted at B/Hooks/EndOfScope/XS.pm line 17.
 Compilation failed in require at Module/Runtime.pm line 317.
 Can't locate B/Hooks/EndOfScope/PP/FieldHash.pm in @INC (@INC contains:
 CODE(0x1e1aca0)
 /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc/lib
 /tmp/par-6e697374657374/cache-9f11098dccd910be2e44325e17711ef504029e65/inc
 CODE(0x1aea050) CODE(0x1aea4d0)) at Module/Runtime.pm line 317.
 BEGIN failed--compilation aborted at B/Hooks/EndOfScope/PP.pm line 29.
 Compilation failed in require at Module/Runtime.pm line 317.
  at B/Hooks/EndOfScope.pm line 22
 BEGIN failed--compilation aborted at B/Hooks/EndOfScope.pm line 26.
 Compilation failed in require at namespace/clean.pm line 11.
 BEGIN failed--compilation aborted at namespace/clean.pm line 11.
 Compilation failed in require at JSON/Any.pm line 11.
 BEGIN failed--compilation aborted at JSON/Any.pm line 11.
 Compilation failed in require at CouchDB/Client.pm line 9.
 BEGIN failed--compilation aborted at CouchDB/Client.pm line 9.
 Compilation failed in require at script/report-fjr-couch.pl line 6.
 BEGIN failed--compilation aborted at script/report-fjr-couch.pl line 6.


 ___
 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] Obter resultado de pesquisa

2014-07-09 Por tôpico Aureliano Guedes
Paciência... Quando acho que to no caminho certo, descubro que estou navegando 
em aguas desconhecidas.

From: bla...@gmail.com
Date: Wed, 9 Jul 2014 14:32:11 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [DUVIDA] Obter resultado de pesquisa

Simples meu caro gafanhoto!
Você seguiu o be-a-bá tradicional de forma correta. Acessa a página do 
formulário, preenche os dados e submit.
Só que esse form na realidade não faz o tradicional.


Se você inspecionar a página com o Inspect ou o firebug no Firefox, vai ver que 
o form não declara um method o que implica GET.
Entretanto, para acessar os dados, a página faz um POST, provavelmente via 
AJAX e não um submit tradicional.


Quando vc faz o submit, o Mechanize tenta enviar os dados pela URL usando o 
método GET e o sevidor te responde com um 404 Not Found. É isso que o Mechanize 
está te avisando.
Dá uma olhada nisso aqui:


https://github.com/blabos/Docs/wiki/Protocolo-HTTP

[]'s




2014-07-09 14:15 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Ola monges,
Estou desenvolvendo um scriptzinho teste que se der tudo certo transformo em 
modulo e faço o upload para o CPAN.
O script trabalha com calculo de frete, semelhante ao WWW::Correios::PrecoPrazo 
do Garu.


A diferença é que ele calcula o frete com o desconto oferecido pelo PagSeguro 
para Envio Fácil (e-sedex) quando o pagamento é efetuado via PagSeguro.


Estou usando o WWW::Mechanize, mas algo da errado. Quando preencho os fields e 
submito retorna o seguinte erro:'Error GETing 
https://pagseguro.uol.com.br/para_seu_negocio/howItWorksCalculator.

jhtml?originCep=74491626destinyCep=36072130width=30height=6length=40weight=0.300:
 Not Found at C:\Users\Aureliano\Desktop\CEP\CEP.pl line 29.'


Mas não sei exato qual o problema, mas parece que ta tentando puxar essa uri, 
ou sei la o que ta acontecendo.


Alguem tem alguma ideia?
link do script completo: http://pastebin.com/Cg7XWBgB


Rotina onde acredito estar o problema:sub envio_facil{  my ($o, $d, $c, $a, $l) 
= @_;
my $url = WWW::Mechanize-new();

$url-get('http://www.pagseguro.uol.com.br/para_seu_negocio/envio-facil.jhtml');

$url-submit_form(  form_id = 
'simulateCep',

fields  = {originCep   = $c,  
destinyCep  = $d,

width   = $l,  
height  = $a,

length  = $c,  
,   
},

);
my $preco = $url-decoded_content;  

return $preco;}






  

___

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] Release de modulo Beta no CPAN

2014-05-23 Por tôpico Aureliano Guedes
) make test. Lê o Makefile para executar os testes do seu módulo.
  e) make install
 
  Quando você cria um módulo, para montar o .tar.gz normalmente você faz:
 
  a) perl Makefile.PL (ou perl Build.PL). Isso vai criar um arquivo
 Makefile
  adaptado pra sua máquina.
  b) make manifest. Isso vai criar uma lista com todos os arquivos que
  precisam ser distribuídos dentro do seu .tar.gz
  c) make dist. Isso vai criar um .tar.gz do seu módulo, dentro do qual,
  haverá um Makefile.PL (ou Build.PL), e *não* um Makefile.
 
  Os arquivos *.PL precisam ser executados no momento da instalação para
 que
  o Makefile seja montado de acordo com a máquina onde ele está sendo
  instalado e não de acordo com a máquina onde o módulo foi criado.
 
 
  4) Release.
 
  Consiste em enviar o seu módulo para o CPAN.
 
  ***
 
  O Module::Make eu vou desconsiderar, porque ele só tem uma versão antiga
  lançada e nenhum outro módulo do cpan o utiliza
  (https://metacpan.org/requires/distribution/Module-Make?sort=[[2,1]]).
 
  ***
 
  Com o dzil você tem uma ferramenta, que em conjunto com plugins cobre
  todas as etapas listadas acima e mais algumas outras, como integração
 com o
  seu sistema de controle de versão e simplificação da criação de POD, por
  exemplo.
 
  Já se você preferir fazer sem ele, você pode fazer tudo manualmente, ou
  usar qualquer dessas ferramentas citadas acima pra cobrir uma fase ou
 outra,
  ou ainda combiná-las entre si.
 
  Eu particularmente tenho módulos que usam o dzil
  (https://github.com/blabos/Dancer2-Plugin-Paginator) e módulos que não
 usam
  (https://github.com/blabos/Paginator-Lite).
 
  E quando não uso, tenho preferência por criar o módulo com o
  Module::Starter (não confundir com
 https://metacpan.org/pod/Module::Start)
  usando como builder o Module::Install.
 
  ***
 
  Finalizando, só preste atenção no que você deseja fazer e escolha a
  ferramenta que achar mais adequada, tendo em mente que embora seja
  relativamente simples criar um módulo e botar no CPAN, há várias etapas
  envolvidas, que na maioria das vezes já são até instintivas, mas que se
 você
  misturar as coisas, pode dar a maior confusão.
 
  []'s
 
 
 
 
 
 
  2014-05-20 16:12 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:
 
  Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa
   Dist::Zilla e lembro que os 2 metodos mais recomendados eram
 Module::Build
   e Module::Make.
 
  Posso estar enganado, mas esses 'eram' os mais recomendados. O
  Dist::Zilla é mais recente porem creio que seja o melhor e atualmente o
  'mais recomendado'.
 
  
  Date: Tue, 20 May 2014 11:52:43 -0700
  From: samircu...@gmail.com
  To: rio-pm@pm.org
  Subject: Re: [Rio-pm] Release de modulo Beta no CPAN
 
 
  Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa
  Dist::Zilla e lembro que os 2 metodos mais recomendados eram
 Module::Build e
  Module::Make.
 
  Lendo melhor, parece que rola uma discussao entre usar as flags
 oficiais
  do CPAN ou _ na versao. Hum.
 
  Meio tosco que as flags oficiais do CPAN sao mais inuteis do que um _
 na
  versao. Mas o argumento da confusao no metacpan faz sentido.
 
  De qualquer jeito quando visito a pagina um modulo nao vejo a flag la :
 
  http://search.cpan.org/~ingy/Module-Make-0.01/lib/Module/Make.pm
 
  Entao de repente o melhor e fazer como o ingy e colocar uma nota no
  POD.
 
  Abs
 
 
  2014-05-20 11:39 GMT-07:00 Renato Santos renato.c...@gmail.com:
 
  *
 
 http://blogs.perl.org/users/oliver_gorwits/2011/10/releasing-trialdevbeta-versions-with-distzilla.html
 
  #fastreply
 
 
  2014-05-20 15:35 GMT-03:00 Samir Cury samircu...@gmail.com:
 
  Pessoal,
 
  Outro dia na lista, li alguem dizendo : manda pro CPAN logo como beta
 
  Como estou no passo intermediario para o meu primeiro modulo decente,
  com testes e tudo mais, talvez nao tenha visto essa opcao ainda.
 Pesquisando
  um pouco esbarrei com todas essas definicoes :
 
  http://search.cpan.org/dlsip?bpmOp
 
  Ja que o modulo funciona, esta documentado e passa no prove, achei
  interessante subir como beta, e lancar novas releases quando fizer mais
  refatoracoes.
 
  Enfim. Queria confirmar com a galera que ja trilhou este caminho, que
  quando eu for realmente subir o modulo vou ter a opcao de marcar como
 beta.
 
  Pra quem estiver curioso este e o modulo :
 
  https://github.com/samircury/HTCondor--Queue--Parser
 
  Abs,
  Samir
 
 
 
  ___
  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

Re: [Rio-pm] Release de modulo Beta no CPAN

2014-05-20 Por tôpico Aureliano Guedes
Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa Dist::Zilla e 
lembro que os 2 metodos mais recomendados eram Module::Build e Module::Make.
Posso estar enganado, mas esses 'eram' os mais recomendados. O Dist::Zilla é 
mais recente porem creio que seja o melhor e atualmente o 'mais recomendado'.

Date: Tue, 20 May 2014 11:52:43 -0700
From: samircu...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Release de modulo Beta no CPAN

Sim, passei o olho nisso, mas meio que ignorei pois o mesmo usa Dist::Zilla e 
lembro que os 2 metodos mais recomendados eram Module::Build e Module::Make.
Lendo melhor, parece que rola uma discussao entre usar as flags oficiais do 
CPAN ou _ na versao. Hum. 


Meio tosco que as flags oficiais do CPAN sao mais inuteis do que um _ na 
versao. Mas o argumento da confusao no metacpan faz sentido. 
De qualquer jeito quando visito a pagina um modulo nao vejo a flag la : 

http://search.cpan.org/~ingy/Module-Make-0.01/lib/Module/Make.pm

Entao de repente o melhor e fazer como o ingy e colocar uma nota no POD.

Abs

2014-05-20 11:39 GMT-07:00 Renato Santos renato.c...@gmail.com:

* 
http://blogs.perl.org/users/oliver_gorwits/2011/10/releasing-trialdevbeta-versions-with-distzilla.html



#fastreply

2014-05-20 15:35 GMT-03:00 Samir Cury samircu...@gmail.com:



Pessoal,
Outro dia na lista, li alguem dizendo : manda pro CPAN logo como beta




Como estou no passo intermediario para o meu primeiro modulo decente, com 
testes e tudo mais, talvez nao tenha visto essa opcao ainda. Pesquisando um 
pouco esbarrei com todas essas definicoes : 

http://search.cpan.org/dlsip?bpmOp

Ja que o modulo funciona, esta documentado e passa no prove, achei 
interessante subir como beta, e lancar novas releases quando fizer mais 
refatoracoes.




Enfim. Queria confirmar com a galera que ja trilhou este caminho, que quando eu 
for realmente subir o modulo vou ter a opcao de marcar como beta.
Pra quem estiver curioso este e o modulo :





https://github.com/samircury/HTCondor--Queue--Parser
Abs,Samir




___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Saravá,

Renato CRONhttp://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] nota de falecimento

2014-05-11 Por tôpico Aureliano Guedes
--

Daniel Vinciguerra dan.vincigue...@gmail.com escreveu:

:-(


*Daniel Vinciguerra (@dvinciguerra)*
Web solution architect, perl dev, vegetarian, geek and co-founder at *Bivee*
bivee.com.br  -  github.com/Bivee


2014-05-10 21:25 GMT-03:00 Blabos de Blebe bla...@gmail.com:

 :(


 2014-05-10 21:07 GMT-03:00 Renato Santos renato.c...@gmail.com:

 Vish vei, que bad

 :-\

 Pã
 On May 10, 2014 8:32 PM, Thiago Rondon thi...@aware.com.br wrote:

 Tristeza... Como pode
 Em 10/05/2014 19:18, breno br...@rio.pm.org escreveu:

 Oi pessoal,

 é com muita tristeza e saudade que venho comunicar o falecimento de
 nossa querida amiga Diana Rosa.

 Diana começou a frequentar a comunidade nos encontros sociais da Rio
 Perl Mongers há alguns anos e aos poucos foi se engajando, aprendendo
 e ensinando. Tímida mas sempre animada, ela gostava de contar como, na
 época em que trabalhava com Java, implementou rapidamente um one-liner
 em Perl para corrigir um bug enquanto seus colegas ainda estavam
 desenhando 19 quadrinhos de UML para representar o problema.
 Atualmente, trabalhava como desenvolvedora Perl na Estante Virtual.

 A di, como era conhecida pelos amigos, também adorava canto lírico e
 era uma excelente pintora. Uma de suas obras, feita para homenagear um
 amigo que faceleu recentemente, hoje enfeita o muro na esquina da Rua
 Alice, em frente ao local onde fizemos tantos encontros sociais da
 comunidade (e onde provavelmente faremos o próximo).

 Ainda não temos muitas informações, mas ao que parece ela não estava
 se sentindo bem ontem à noite, deitou para descansar e, infelizmente,
 não acordou. Ela nos deixa aos 27 anos.

 Aos que quiserem prestar sua homenagem, o velório será hoje (10/05) a
 partir das 22:00 na Capela 7 do Cemitério São João Batista. O enterro
 será amanhã (11/05) às 11:00.


 Nossos sentimentos hoje vão para toda a família e amigos.

 breno
 ___
 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] empregos perl no rio (ou brasil)

2014-05-06 Por tôpico Aureliano Guedes
Breno, por curiosidade. O que define um desenvolvedor Perl5 junior, pleno ou 
sênior?

breno br...@rio.pm.org escreveu:

Falando em vagas no Rio de Janeiro, pra quem não sabe, a Estante
Virtual está contratando desenvolvedores Perl 5 de todos os níveis
(júnior/pleno/sênior) pra trabalhar com desenvolvimento Web!

A Estante é um e-commerce consagrado de livros novos, seminovos e
usados que agrega o acervo de sebos de todo o país. O sistema é todo
em Perl 5 e usa módulos como Moo/Moose, Template Toolkit,
DBIx::Connector, CHI, JSON, Try::Tiny, entre tantos outros (não temos
medo de usar o CPAN, nosso cpanfile tem mais de 90 módulos!). O banco
é em MySQL (com full-text em Sphinx e interface memcached),
trabalhamos com git, testes e code reviews.

O requisito principal das nossas vagas realmente não é Perl; é saber
trabalhar bem em equipe (somos 9 devs Perl e contando!), analisar
problemas e ser proativo nas soluções ;-)

Enviem currículos pra r...@estantevirtual.com.br


[]s

-b


2014-05-05 16:24 GMT-03:00 Andre Carneiro andregarciacarne...@gmail.com:
 O que mais eu vejo é vaga para suporte de infra/rede e sys admin(por aqui,
 sinônimo para 'faz-tudo'). Quando não é isso, é para cuidar de código legado
 e/ou novo de back-end, o que eu considero bem divertido. Mas a principal
 observação é que, normalmente, o requisito principal para as vagas não é
 Perl, mas shellscript, Java, PHP(argh!) e coisas assim. Perl aparece quase
 sempre como requisito 'desejável', ao invés de 'básico' ou imprescindível. E
 isso é um tanto perturbador pra mim, pelo menos.

 Quanto a salário não sei dizer ao certo. Normalmente vale a pena investir em
 certificação LPI, no caso de trabalhos com suporte/infra. Os certificados
 ajudam você a ganhar um pouco mais. Mestrado, doutorado e afins parecem ter
 mais importância para cargos de liderança/executivos. Mas nada supera o
 networking... ;-)

 Tudo isso que eu falei é baseado no que tenho observado do mercado através
 de anúncios, e de colegas. Como eu não confio em pesquisas publicadas por
 consultorias de RH, prefiro acreditar no que vejo, do escuto de colegas, de
 quem me procura oferecendo emprego, e informações das listas de discussão.


 Espero ter ajudado


 Atenciosamente



 2014-05-05 15:38 GMT-03:00 Diego Tostes dtos...@gmail.com:

 Pessoal,

 Como andam as vagas de perl no rio ou no brasil?

 Quais empresas ou nichos que mais contratam?

 Abs

 Diego

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




 --
 André Garcia Carneiro
 Software Engineer
 (11)982907780

 ___
 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] Bio::Filter

2014-05-06 Por tôpico Aureliano Guedes
Ola monges,
Quero convidar todos nossos amigos que trabalham com bioinformática aderentes 
da filosofia open source a se juntar a mim para o desenvolvimento de um 
conjunto de módulos direcionados para filtra as longas listas de informações 
que temos que lidar na bioinformática. 
A ideia é ter fácil acesso por meio de pesquisa simples e direcionada a 
ferramentas para filtrar dados na bioinformática.
Iniciei o projeto, e já tenho algumas ferramentas que vou revisar e fazer 
testes para incluir no projeto para enviar em breve para nosso querido CPAN.
Quem quiser e puder colaborar, ficarei grato.
GitHub: https://github.com/acpguedes/Bio--Filter.gitcontato: 
guedes.aureli...@gmail.com
Estou aberto a critica, sugestões, colaborações, etc.
Abraços,
Aureliano Guedes  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Bio::Filter

2014-05-06 Por tôpico Aureliano Guedes
O projeto nao e paralelo ao BioPerl, e dentro do BioPerl. Eu observei que ele e 
muito rico em ferramentas complexas para diversas áreas da bioinfo mas carece 
um pouco de ferramentas para filtrar os dados obtidos. Ou quando se tem um 
ferramenta para isso pesquisar ela e difícil também. Então eu vou montar um 
grupo de ferramentas para filtrar dados.
Já eu subo pro CPAN um primeiro para tirar como exemplo.

Andre Carneiro andregarciacarne...@gmail.com escreveu:

Não sei exatamente o que você quer fazer. Só queria dizer que existe o
Bioperl. Não sei se você conhece.

http://www.bioperl.org/wiki/Main_Page




2014-05-06 16:22 GMT-03:00 Felipe da Veiga Leprevost 
fel...@leprevost.com.br:

 Olá Aureliano,

 Desculpa mas eu não entendi a proposta do seu módulo, pode explicar um
 pouco melhor dando exemplos?
 abraços


 2014-05-06 15:25 GMT-03:00 Tiago Peczenyj tiago.pecze...@gmail.com:

 Bota logo no cpan. Como versão beta
 Em 06/05/2014 15:20, Aureliano Guedes guedes_1...@hotmail.com
 escreveu:

  Ola monges,

 Quero convidar todos nossos amigos que trabalham com bioinformática
 aderentes da filosofia open source a se juntar a mim para o desenvolvimento
 de um conjunto de módulos direcionados para filtra as longas listas de
 informações que temos que lidar na bioinformática.

 A ideia é ter fácil acesso por meio de pesquisa simples e direcionada a
 ferramentas para filtrar dados na bioinformática.

 Iniciei o projeto, e já tenho algumas ferramentas que vou revisar e
 fazer testes para incluir no projeto para enviar em breve para nosso
 querido CPAN.

 Quem quiser e puder colaborar, ficarei grato.

 GitHub: https://github.com/acpguedes/Bio--Filter.git
 contato: guedes.aureli...@gmail.com

 Estou aberto a critica, sugestões, colaborações, etc.

 Abraços,

 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




 --
 Felipe da Veiga Leprevost, PhD
 www.leprevost.com.br
 Laboratory for Proteomics and Protein Engineering.
 Fiocruz, Brazil.

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




--
André Garcia Carneiro
Software Engineer
(11)982907780
___
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 Aureliano Guedes
'Warning! The consumption of alcohol may cause you to think you have mystical 
kung-fu powers.'

Date: Sun, 4 May 2014 20:08:49 +0200
From: creakt...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Número no final do package

(0x2B or not 0x2B)

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




2014-05-04 12:12 GMT-03:00 breno br...@rio.pm.org:


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 bruno.b...@gmail.com:

 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 guedes_1...@hotmail.com:



 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  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

2014-05-04 Por tôpico Aureliano Guedes
Acabei de subir para o CPAN a versão 0.02 daquele 
módulo.https://metacpan.org/pod/Math::Palindrome
Mas agora que acabei de ver seu e-mail.
Algumas modificações já irei fazer para subir a versão 0.03.
Se você tentar instalar depois me fala se deu certo?

From: bruno.b...@gmail.com
Date: Sat, 3 May 2014 18:57:58 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

Sobre o lance do next_palindrome antes do loop:
Mas com isso você quebrou o caso onde o valor inicial já é um palindromo 
primo... ou seja, não ta certo :P
Você não consegue fazer uma condição do loop melhor, tal que ela verifique as 
duas condições e só pare quando o número for um primo palindromo sempre, desde 
a 1a verificação? ;)


Sobre a explicação do modulo:
Opa, muito bom! Seems good to me :-)Só acho que você precisa tratar todos os 
casos onde $n =~ m/^9+$/, porque só o 99 e 999 não bastam (mas foi legal que 
você já tinha percebido o problema deles :-)


Tratar eles é bem fácil eu acho:if($n =~ m/^9+$/){  $r = '1' . (0 x ((length 
$n) - 1)) . '1';}
Seems legit?


Por fim, seria legal voce escrever tudo isso na documentação do seu módulo, 
pois provavelmente vai ajudar quem estiver escolhendo um para usar :-)
Acho que já estou convencido que sua next_palindrome está ok (tirando esse 
problema aí de cima dos números com todos os dígitos 9). Agora só precisamos 
melhorar o loop principal do seu programa. Lembre-se do que você quer (um primo 
palindromo) e do que você realmente precisa dentro desse seu loop. Tente 
construir uma invariante das iterações do loop, o que você pode garantir a cada 
passada do loop?




2014-05-03 11:27 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Então, esse problema já é do loop principal e não do módulo. Porque eu faço: 

$time = next_palindrome($time);

Antes do loop principal.acho que pode ser corrigido fazendo:

$time = next_palindrome($time) if (!is_palindrome($time));


Fiz isso para evitar que um time() primo finalize o loop mesmo sem ele começar, 
já que o loop inicia assim:while(!is_prime($time))


Agora quanto ao módulo em sí, a logica usada é a seguinte:- Um número 
palíndromo é obrigatoriamente igual a ele mesmo se lido de traz para frente, 
então- Se dividirmos pela metade os dígitos de um numero palíndromo de número 
de dígitos maior ou igual a 2 então a primeira metade é obrigatoriamente igual 
a segunda lida de traz para frente. Isso me leva as seguintes conclusões:


1- Se o reverso da segunda parte é menor que a primeira parte # 8652 - 86  
25logo  o próximo palíndromo é obrigatoriamente a primeira parte concatenada 
com o reverso dela mesma

# 86 . (reverse 86)Isso se torna verdadeiro porque no caso usado para exemplo 
'8668' a segunda parte é o '68' que tem seu reverso '86' que é igual a primeira 
parte.


2- Se se o reverso da segunda parte é maior ou igual a primeira parte# 8668 - 
86 == 86 # ou # 8669 - 86  96logo o próximo palíndromo é obrigatoriamente a 
primeira parte incrementada concatenada com seu reverso

# 8668 - 86 +1 - 87 . 78 - 8778
Então minha heurística foi aplicada em cima de uma lógica matemática, o que 
apesar do módulo não vir com os testes, em meus testes ao final do 
desenvolvimento ele fez corretamente todas as respostas. 

Inclusive estou fazendo algumas correções para subir estas correções.Eu não sei 
fazer direito aqueles testes, mas enviarei com os testes na próxima.
Quanto ao Math::NumSeq::Palindromes, acho que poderia ser melhor de usar, mais 
direto, no meu você pode imprimir o próximo palindromo fazendo apenas 'say 
next_palindrome($n);'.


From: bruno.b...@gmail.com
Date: Sat, 3 May 2014 10:01:11 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

Então, eu não consigo instalar seu modulo no meu sistema, mas supondo que ele 
esteja correto, principalmente que a função next_palindrome retorne 
exatamente o próximo palindromo maior ou igual ao número...





Para esse seu programa:(1) Entrada: 9. Saída esperada: 9. Saída atual: 11.
(2) Entrada: 191. Saída esperada: 191. Saída atual: Alguma coisa que não é 191 
e fiquei com preguiça de terminar o chinês.




(3) Entrada: 666. Saída esperada: 727. Saída atual: Alguma coisa que não é 727 
e fiquei com preguiça de terminar o chinês. Mas logo depois da 1a iteração do 
while... o $time foi bumpado para 796 - por causa do if((reverse $time) % 2 == 
0) - e já passou do 727 e nunca vai voltar para ele






japa++ pela consideração entre as duas versões do reverse reverse $time. Eu 
ainda acho que esse trecho ta errado destrói qualquer tentativa de construir 
uma invariante no algoritmo.





2014-05-01 22:27 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





E pronto minha solução sem os bugs que falou: http://pastebin.com/PQQyg5BK
Engraçado: teve o melhor desempenho.



Um simples detalhe reduziu o tempo de execução pela metade.
Fazer:  $time = reverse $time;  $time

Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

2014-05-04 Por tôpico Aureliano Guedes
Entao vou colocar no github mesmo porque nao to sabendo fazer os testes.

Bruno Buss bruno.b...@gmail.com escreveu:

O seu teste 001_load.t ainda falha, basicamente porque ele tenta utilizar
seu módulo como se fosse um objeto, tentando fazer
um Math::Palindrome-new().

Assim, esse teste é criado automaticamente para você... e se seu módulo não
for utilizado como um objeto, você pode remove-lo :-)

Yay, moar tests! \o/

Algumas sugestões sobre os testes:
* Quebre seus testes em arquivos diferentes, cada um testando uma função ou
uma funcionalidade específica do seu módulo.

* Talvez seja interessante fazer testes muito grandes, como o que seu que
loopa nos 1os 100k palindromos, sejam marcados como testes para rodar
somente no seu ambiente (de autor)... pois eles parecem mais smoke tests do
que testes unitários de fato.

Além disso, sobre esse seu teste do loop... ele está testando que o
next_palindrome() de fato gera um palindromo, mas não testa se ele de fato
gera o *proximo* palíndromo para todos aqueles casos. Como você faria para
testar isso? :-)



Mais duas sugestões sobre o processo de desenvolvimento at all:
* Considere colocar o seu código num repositório onde outras pessoas podem
contribuir, tanto na parte de código quanto de documentação, tipo o Github.

* Experimente gerenciar seus modulos/dists com o Dist::Zilla... sua vida
provavelmente será bem mais feliz :P https://metacpan.org/pod/Dist::Zilla

Nice job! :-)

[ ]'s




2014-05-04 21:48 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

 Acabei de subir para o CPAN a versão 0.02 daquele módulo.
 https://metacpan.org/pod/Math::Palindrome

 Mas agora que acabei de ver seu e-mail.

 Algumas modificações já irei fazer para subir a versão 0.03.

 Se você tentar instalar depois me fala se deu certo?


 --
 From: bruno.b...@gmail.com
 Date: Sat, 3 May 2014 18:57:58 -0300

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

 Sobre o lance do next_palindrome antes do loop:

 Mas com isso você quebrou o caso onde o valor inicial já é um palindromo
 primo... ou seja, não ta certo :P

 Você não consegue fazer uma condição do loop melhor, tal que ela verifique
 as duas condições e só pare quando o número for um primo palindromo sempre,
 desde a 1a verificação? ;)

 Sobre a explicação do modulo:

 Opa, muito bom! Seems good to me :-)
 Só acho que você precisa tratar todos os casos onde $n =~ m/^9+$/, porque
 só o 99 e 999 não bastam (mas foi legal que você já tinha percebido o
 problema deles :-)

 Tratar eles é bem fácil eu acho:
 if($n =~ m/^9+$/){
   $r = '1' . (0 x ((length $n) - 1)) . '1';
 }

 Seems legit?

 Por fim, seria legal voce escrever tudo isso na documentação do seu
 módulo, pois provavelmente vai ajudar quem estiver escolhendo um para usar
 :-)

 Acho que já estou convencido que sua next_palindrome está ok (tirando esse
 problema aí de cima dos números com todos os dígitos 9). Agora só
 precisamos melhorar o loop principal do seu programa. Lembre-se do que você
 quer (um primo palindromo) e do que você realmente precisa dentro desse seu
 loop. Tente construir uma invariante das iterações do loop, o que você pode
 garantir a cada passada do loop?



 2014-05-03 11:27 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

 Então, esse problema já é do loop principal e não do módulo.
 Porque eu faço:

1. $time = next_palindrome($time);

 Antes do loop principal.
 acho que pode ser corrigido fazendo:

1. $time = next_palindrome($time) if (!is_palindrome($time));


 Fiz isso para evitar que um time() primo finalize o loop mesmo sem ele
 começar, já que o loop inicia assim:
 while(!is_prime($time))

 Agora quanto ao módulo em sí, a logica usada é a seguinte:
 - Um número palíndromo é obrigatoriamente igual a ele mesmo se lido de
 traz para frente, então
 - Se dividirmos pela metade os dígitos de um numero palíndromo de número
 de dígitos maior ou igual a 2 então a primeira metade é obrigatoriamente
 igual a segunda lida de traz para frente. Isso me leva as seguintes
 conclusões:

 1- Se o reverso da segunda parte é menor que a primeira parte
 # 8652 - 86  25
 logo  o próximo palíndromo é obrigatoriamente a primeira parte concatenada
 com o reverso dela mesma
 # 86 . (reverse 86)
 Isso se torna verdadeiro porque no caso usado para exemplo '8668' a
 segunda parte é o '68' que tem seu reverso '86' que é igual a primeira
 parte.

 2- Se se o reverso da segunda parte é maior ou igual a primeira parte
 # 8668 - 86 == 86 # ou # 8669 - 86  96
 logo o próximo palíndromo é obrigatoriamente a primeira parte incrementada
 concatenada com seu reverso
 # 8668 - 86 +1 - 87 . 78 - 8778

 Então minha heurística foi aplicada em cima de uma lógica matemática, o
 que apesar do módulo não vir com os testes, em meus testes ao final do
 desenvolvimento ele fez corretamente todas as respostas.
 Inclusive estou fazendo algumas correções para subir estas correções.
 Eu não sei fazer direito

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

2014-05-03 Por tôpico 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

Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

2014-05-01 Por tôpico Aureliano Guedes
Bruno, resolvi o problema e segui a sua dica: 
http://cpansearch.perl.org/src/ACPGUEDES/Math-Palindrome-undef/lib/Math/Palindrome.pm
O http://search.cpan.org/~kryde/Math-NumSeq-70/lib/Math/NumSeq/Palindromes.pm 
era muito incompleto!

From: bruno.b...@gmail.com
Date: Mon, 28 Apr 2014 21:24:50 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

O problema é que quando time() está entre 89 e 96, next_prime($time) retorna 
97... e a palindrome(97) retorna 107 - se não errei o chines mental que acabei 
de fazer - ou seja, pulando um palíndromo primo, que seria a resposta correta. 
O mesmo problema de antes, sua heurística para tentar pular números na 
sequencia de primos/palíndromos ainda não está muito boa.


Mais uma dica: Ao invés de usar aquela formula toda para pegar a 1a/2a metade 
dos dígitos do numero, porque você não usa a substr()? :-)



2014-04-27 20:49 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Bruno,
Tratei a maioria dos erros e ainda ganhei em desempenho.O problema é que tem um 
bug que não consegui tratar.
Quando 89 = time() = 96 sempre retorna 131 e não 101, mas quando 89 ou 96 
retorna corretamente 101.


http://pastebin.com/3QVnbjbP

Date: Sun, 27 Apr 2014 14:00:02 -0300
From: guedes_1...@hotmail.com


To: rio-pm@pm.org
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo








Buss,

Obrigado por analisar o código. 

Realmente eu fiz apenas alguns teste mas nao o suficiente para perceber esses 
bugs que me falou.

Essa heurística foi apenas experimental.

E ainda pode ser otimizada. 

Nao sou muito habilidoso quando se trata de achar esses tipos de erros.

Por exemplo, se na rotina de geração de palíndromo eu verificasse se o 
palíndromo gerado e par já ganharia no desempenho mas nao resolveria os 
problemas que citou.

Vou ver o que posso fazer para resolver esses bugs.

 Obrigado pela análise.





Bruno Buss bruno.b...@gmail.com escreveu:





Olá Aureliano,



Muito bom seu esforço... mas eu acho que você deveria elaborar e rodar alguns 
testes unitários para o seu código. :-)






Por exemplo, o seu código anterior (com as subs _par e _impar), imprimia 101 
se o time() fosse 102. A resposta correta seria 131. A sua heurística 
geradora de palindromos andou para trás nesse caso... me parece um erro de 
design do algoritmo.








Essa sua nova versão:
* Imprime 13 se o time() for 13... e 13 nem é palindromo! O resultado 
correto nesse caso é 101. Mas isso é só um erro no seu loop principal, que se 
for primo direto no começo ele nem verifica se é palindromo mas já imprime 
direto.





* Imprime 1003001 se o time() for 96... o que me parece meio longe do 
resultado esperado, 101. Nesse caso, emho, o problema é a sua heurística 
geradora de palindromos.









Ou seja, a eficiência do algoritmo é muito importante... mas sua corretude deve 
vir antes. (A menos é claro que estejamos falando de algoritmos aproximativos 
ou heurísticas para problemas intratáveis :-)



Nesse caso em específico, parece que essa sua função geradora de palindromos é 
de fato uma heurística para dar bumps na sequência e economizar verificações... 
mas como observado você corre o risco de pular algo que não deveria.





Só como dúvida, essa sua heurística é fundamentada em algum resultado 
matemático de fato ou apenas experimental?






[ ]'s
Buss







2014-04-27 3:06 GMT-03:00 Aureliano Guedes 
guedes_1...@hotmail.com:



Esquece a ultima versão.
Divisão é pesado para o processador. 



Fiz uma versão menor com menos divisões que parece ter uma melhor performance.



http://pastebin.com/jrjEv3eh







From: guedes_1...@hotmail.com

To: rio-pm@pm.org

Date: Sun, 27 Apr 2014 02:44:57 +



Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo



Então tenho essa versão que executou em 1s.



http://pastebin.com/DLdPwAkp





From: bla...@gmail.com

Date: Sat, 26 Apr 2014 18:39:15 -0300

To: rio-pm@pm.org

Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo



Vamos dar um desconto por causa do primo.




2014-04-25 23:26 GMT-03:00 Junior Moraes juniiior...@gmail.com:


Hi.



Se for válido usar módulos externos, dá pra implementar com o Math::Prime::XS 
para ficar mais performático. :-)



[]'s





Em 25 de abril de 2014 23:21, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:





Não fiz em poucas linhas, mas fis em poucos segundos: 
http://pastebin.com/DLdPwAkp





Date: Tue, 22 Apr 2014 15:09:22 -0300



From: guedes_1...@hotmail.com

To: rio-pm@pm.org

Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo



Claro que esta. Mas nao consegui fazer o que o que o Bablos sugeriu em uma 
única linha.



Vinícius Miasato viniciusmias...@gmail.com escreveu:







Opa,




parabéns por aceitar o desafio e levá-lo até o fim! Não sei se o código 
funciona, mas o jogo de GOLF ainda está de pé?




atenciosamente,

Vinícius Miasato






Em 22 de abril de 2014 13:13, Aureliano Guedes guedes_1

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
#!/usr/bin/perl
use strict;use warnings;use Math::Prime::Util ':all';
print ok if (is_prime($ARGV[0]));
From: tiago.pecze...@gmail.com
Date: Tue, 29 Apr 2014 17:36:23 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

de exemplos.



2014-04-29 17:34 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Ola monges,
Tenho uma pequena dúvida.Quando vamos usar uma função(sub-rotina) de um módulo 
fazemos na maioria das vezes o seguinte:
use Modulo::Modulo;


my $p = Modulo::Modulo-new();$p-funcao();
isso porque no modulo tem um contrutor ou foi gerado de presente ao autor 
quando usado o Moose ou semelhante.


A questão é que alguns poucos módulos permitem que seja feito diretamente
use Modulo::Modulo;
my $p;$p-funcao();


A dúvida é: como o autor do módulo faz para que permita fazer a chamada das 
funções sem precisar disso:my $p = Modulo::Modulo-new();   
  



___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Tiago B. Peczenyj
Linux User #405772



http://about.me/peczenyj


___
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] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Errei nesse exemplo, seria my $p = algumacoisa();
Mas ok, o Junior falou do 'Exporter', então o que eu to tentando fazer 
é:package Palindrome;use strict;use Exporter 'import';@EXPORT_OK =  
qw(is_palindrome);sub is_palindrome {return 1 if ($_[0] == reverse $_[0]);}1;
mas quando tento
use Palindrome 'all';print ok if (is_palindrome($ARGV[0]));
e executo na shell 'perl exemplo.pl 111' ou qualquer outro número palíndromo ou 
não, não imprime ok, apesar de não gerar nenhuma mensagem de erro.
From: tiago.pecze...@gmail.com
Date: Tue, 29 Apr 2014 17:43:22 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

isto é uma subrotina exportada
onde vc viu
my $p;
$p-algumacoisa;
?



2014-04-29 17:40 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





#!/usr/bin/perl
use strict;use warnings;use Math::Prime::Util ':all';
print ok if (is_prime($ARGV[0]));


From: tiago.pecze...@gmail.com
Date: Tue, 29 Apr 2014 17:36:23 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

de exemplos.



2014-04-29 17:34 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:







Ola monges,
Tenho uma pequena dúvida.Quando vamos usar uma função(sub-rotina) de um módulo 
fazemos na maioria das vezes o seguinte:
use Modulo::Modulo;




my $p = Modulo::Modulo-new();$p-funcao();
isso porque no modulo tem um contrutor ou foi gerado de presente ao autor 
quando usado o Moose ou semelhante.




A questão é que alguns poucos módulos permitem que seja feito diretamente
use Modulo::Modulo;
my $p;$p-funcao();




A dúvida é: como o autor do módulo faz para que permita fazer a chamada das 
funções sem precisar disso:my $p = Modulo::Modulo-new();   
  





___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Tiago B. Peczenyj
Linux User #405772





http://about.me/peczenyj


___
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://about.me/peczenyj


___
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] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Funcionou da forma que o Junior passou.
Obrigado.
Experimentei fazer o dumper como o Bablos falou. Realmente são formas 
diferentes, sendo que Modulo::funcao dispensa declarar o construtor.

From: juniiior...@gmail.com
Date: Tue, 29 Apr 2014 18:15:00 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

Hi.

Em 29 de abril de 2014 18:07, Blabos de Blebe bla...@gmail.com escreveu:


Só mais uma coisa,
Isso não tem nada a ver com Exporter.


[]'s
Eu acho que ele tá perguntando mesmo como exportar uma sub e torná-la 
possível ser chamada à partir de outro script bastando dar um use no 
módulo, e não como invocar um método estaticamente como eu pensei.

Creio que o jeito mais roots seria:

package Modulo::Modulo;

use vars qw(@ISA @EXPORT);

@ISA= (qw(Exporter));
@EXPORT = qw(acp);



sub acp {
...
}
1;

Deste modo, Aureliano, bastará dar um use em Modulo::Modulo e a função acp() 
estará acessível, assim como no Math::Prime::Util.



[]'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  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
ter Perl como primeira linguagem
Esse foi meu feliz erro.
Sofro com alguns problemas de boas praticas mas em questão de logica pura eu m 
dou bem.
Eu diria que quem quer aprender logica deveria aprender Perl.
Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar aprender 
boas praticas.


Blabos de Blebe bla...@gmail.com escreveu:

Mas ok, não é uma boa prática...


2014-04-29 19:15 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  café deve ser 'duro'

 TimToady!!!


 2014-04-29 19:12 GMT-03:00 Renato Santos renato.c...@gmail.com:

 Cara, café não se pode ferver! seu café deve ser 'duro'


 2014-04-29 19:01 GMT-03:00 Blabos de Blebe bla...@gmail.com:

 Enquanto meu café ferve, aqui vale uma reflexão:

 Boas práticas é um conceito flutuante.

 Perl é uma linguagem extremamente rica e se desenvolvimento bastante
 dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
 hoje. As coisas mudam.

 http://perldoc.perl.org/perlhist.html

 Embora muita gente fale que Perl é pré-histórico, a versão mais atual
 foi lançada em janeiro. Se você bobear, você que fica pré-histórico.

 []'s




 2014-04-29 18:52 GMT-03:00 Blabos de Blebe bla...@gmail.com:

 Pacman, copião :)


 2014-04-29 18:50 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  que Modulo::funcao dispensa declarar o construtor.

 Não dispensa. Não tem nada a ver. Não misture as coisas.

 Construtor é um conceito associado a um método especial utilizado para
 inicializar objetos, ou seja, quando você está utilizando uma interface
 orientada a objetos.

 Em C++, o Construtor tem que ser um método cujo nome é o nome da
 classe.

 Em Python é outro padrão.

 Em Perl isso é livre, um construtor, ou seja um inicializador de
 objetos pode ser qualquer método que eventualmente invoque a sub bless().

 http://perldoc.perl.org/functions/bless.html

 Em Perl convencionamos, pra ninguém ficar louco, que o construtor
 chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.

 Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
 completo FQN. Não tem nada a ver com objetos, ou construtores.

 ***

 No seu caso, como bem observado pelo Junior, o que você quer é não ter
 que passar o namespace completo, por isso o uso do Exporter, que nada mais
 faz do que tornar a sua função conhecida no namespace atual.

 Exporter também não tem nada a ver com objetos.

 A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
 default. Nesse caso, ao usar o seu módulo você precisa fazer:

 use Modulo qw{ funcao };

 Aqui, boa prática significa basicamente, vou tormar o cuidado de
 exportar apenas o necessário pra não correr risco de dar conflito com 
 outra
 função de mesmo nome de outro módulo.

 Mas é só uma politica de boa vizinhança, não quer dizer,
 necessariamente, errado. Depende do seu contexto.

 ***

 Como em Perl as coisas são mais livres, você vai ver casos de um
 package que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
 interface OO quanto procedural. Exemplo:
 https://metacpan.org/pod/String::Trigram

 Antigamente, quando OO era 'novidade', o pessoal costumava publicar
 uma interface OO *E* uma interface procedural, pra ficar ao gosto do
 cliente escolher. Outro exemplo: https://metacpan.org/pod/CGI

 Por essas e outras, *EU*, acho meio confuso ter Perl como primeira
 linguagem, pois ela te dar liberdades que em não tendo todos os conceitos
 bem sedimentados, *pode* confundir.

 O importante é, em estar estudando, não parar no estágio ah consegui
 fazer mas sim prosseguir pelo menos até o ah, entendi como funciona.

 []'s




 2014-04-29 18:32 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Funcionou da forma que o Junior passou.

 Obrigado.

 Experimentei fazer o dumper como o Bablos falou. Realmente são formas
 diferentes, sendo que Modulo::funcao dispensa declarar o construtor.

 --
 From: juniiior...@gmail.com
 Date: Tue, 29 Apr 2014 18:15:00 -0300

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

 Hi.

 Em 29 de abril de 2014 18:07, Blabos de Blebe bla...@gmail.comescreveu:

 Só mais uma coisa,

 Isso não tem nada a ver com Exporter.

 []'s


 Eu acho que ele tá perguntando mesmo como exportar uma sub e torná-la
 possível ser chamada à partir de outro script bastando dar um use no
 módulo, e não como invocar um método estaticamente como eu pensei.

 Creio que o jeito mais roots seria:








 *package Modulo::Modulo;use vars qw(@ISA @EXPORT);@ISA=
 (qw(Exporter));@EXPORT = qw(acp); sub acp {*

 *...*
 *}*
 1;

 Deste modo, Aureliano, bastará dar um *use* em Modulo::Modulo e a
 função acp() estará acessível, assim como no Math::Prime::Util.

 []'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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Eu sei. Mas fui fazer um programa pra minha empresa em perl, ai minha esposa 
diz quero interface e pra windows, ai eu usei TK, ai ela disse quero algo 
bunitinho, ai aprendi delphi, ai começo da bug pra tudo que e lado, ai usei 
VB.net, ai fico pior, ai disse:vamos comprar um pronto. E viveram infelizes 
para sempre.

Renato Santos renato.c...@gmail.com escreveu:

** FLAME WARR***
C++ e Delphi ?

linus torvalds discorda disso!

http://article.gmane.org/gmane.comp.version-control.git/57918




2014-04-29 20:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  ter Perl como primeira linguagem
 Esse foi meu feliz erro.
 Sofro com alguns problemas de boas praticas mas em questão de logica pura
 eu m dou bem.
 Eu diria que quem quer aprender logica deveria aprender Perl.
 Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar
 aprender boas praticas.



 Blabos de Blebe bla...@gmail.com escreveu:

  Mas ok, não é uma boa prática...


 2014-04-29 19:15 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  café deve ser 'duro'

  TimToady!!!


 2014-04-29 19:12 GMT-03:00 Renato Santos renato.c...@gmail.com:

  Cara, café não se pode ferver! seu café deve ser 'duro'


 2014-04-29 19:01 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  Enquanto meu café ferve, aqui vale uma reflexão:

  Boas práticas é um conceito flutuante.

  Perl é uma linguagem extremamente rica e se desenvolvimento bastante
 dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
 hoje. As coisas mudam.

  http://perldoc.perl.org/perlhist.html

  Embora muita gente fale que Perl é pré-histórico, a versão mais atual
 foi lançada em janeiro. Se você bobear, você que fica pré-histórico.

  []'s




 2014-04-29 18:52 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  Pacman, copião :)


 2014-04-29 18:50 GMT-03:00 Blabos de Blebe bla...@gmail.com:

   que Modulo::funcao dispensa declarar o construtor.

  Não dispensa. Não tem nada a ver. Não misture as coisas.

  Construtor é um conceito associado a um método especial utilizado para
 inicializar objetos, ou seja, quando você está utilizando uma interface
 orientada a objetos.

  Em C++, o Construtor tem que ser um método cujo nome é o nome da classe.

  Em Python é outro padrão.

  Em Perl isso é livre, um construtor, ou seja um inicializador de objetos
 pode ser qualquer método que eventualmente invoque a sub bless().

  http://perldoc.perl.org/functions/bless.html

  Em Perl convencionamos, pra ninguém ficar louco, que o construtor
 chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.

  Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
 completo FQN. Não tem nada a ver com objetos, ou construtores.

  ***

  No seu caso, como bem observado pelo Junior, o que você quer é não ter
 que passar o namespace completo, por isso o uso do Exporter, que nada mais
 faz do que tornar a sua função conhecida no namespace atual.

  Exporter também não tem nada a ver com objetos.

  A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
 default. Nesse caso, ao usar o seu módulo você precisa fazer:

  use Modulo qw{ funcao };

  Aqui, boa prática significa basicamente, vou tormar o cuidado de
 exportar apenas o necessário pra não correr risco de dar conflito com outra
 função de mesmo nome de outro módulo.

  Mas é só uma politica de boa vizinhança, não quer dizer,
 necessariamente, errado. Depende do seu contexto.

  ***

  Como em Perl as coisas são mais livres, você vai ver casos de um package
 que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
 interface OO quanto procedural. Exemplo:
 https://metacpan.org/pod/String::Trigram

  Antigamente, quando OO era 'novidade', o pessoal costumava publicar uma
 interface OO *E* uma interface procedural, pra ficar ao gosto do cliente
 escolher. Outro exemplo: https://metacpan.org/pod/CGI

  Por essas e outras, *EU*, acho meio confuso ter Perl como primeira
 linguagem, pois ela te dar liberdades que em não tendo todos os conceitos
 bem sedimentados, *pode* confundir.

  O importante é, em estar estudando, não parar no estágio ah consegui
 fazer mas sim prosseguir pelo menos até o ah, entendi como funciona.

  []'s




 2014-04-29 18:32 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Funcionou da forma que o Junior passou.

  Obrigado.

  Experimentei fazer o dumper como o Bablos falou. Realmente são formas
 diferentes, sendo que Modulo::funcao dispensa declarar o construtor.

  --
 From: juniiior...@gmail.com
 Date: Tue, 29 Apr 2014 18:15:00 -0300

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

Hi.

 Em 29 de abril de 2014 18:07, Blabos de Blebe bla...@gmail.com escreveu:

 Só mais uma coisa,

  Isso não tem nada a ver com Exporter.

  []'s


 Eu acho que ele tá perguntando mesmo como exportar uma sub e torná-la
 possível ser chamada à partir de outro script bastando dar um use no
 módulo, e não

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Ainda sim mataria o dragão com perl.
http://www.programacaoprogressiva.net/2012/12/Como-programadores-matariam-um-dragao-e-salvariam-a-princesa.html?m=1

Renato Santos renato.c...@gmail.com escreveu:

http://i.imgur.com/8iUZEZt.png
só pela zuera!


2014-04-29 20:25 GMT-03:00 Daniel Vinciguerra dan.vincigue...@gmail.com:

 Boas praticas com Delphi é ruim heim hahaha


 *Daniel Vinciguerra (@dvinciguerra)*
 Web solution architect, perl dev, vegetarian, geek and founder at *Bivee*
 bivee.com.br  -  github.com/Bivee


 2014-04-29 20:11 GMT-03:00 Renato Santos renato.c...@gmail.com:

 ** FLAME WARR***
 C++ e Delphi ?

 linus torvalds discorda disso!

 http://article.gmane.org/gmane.comp.version-control.git/57918




 2014-04-29 20:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  ter Perl como primeira linguagem
 Esse foi meu feliz erro.
 Sofro com alguns problemas de boas praticas mas em questão de logica
 pura eu m dou bem.
 Eu diria que quem quer aprender logica deveria aprender Perl.
 Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar
 aprender boas praticas.



 Blabos de Blebe bla...@gmail.com escreveu:

  Mas ok, não é uma boa prática...


 2014-04-29 19:15 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  café deve ser 'duro'

  TimToady!!!


 2014-04-29 19:12 GMT-03:00 Renato Santos renato.c...@gmail.com:

  Cara, café não se pode ferver! seu café deve ser 'duro'


 2014-04-29 19:01 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  Enquanto meu café ferve, aqui vale uma reflexão:

  Boas práticas é um conceito flutuante.

  Perl é uma linguagem extremamente rica e se desenvolvimento bastante
 dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
 hoje. As coisas mudam.

  http://perldoc.perl.org/perlhist.html

  Embora muita gente fale que Perl é pré-histórico, a versão mais atual
 foi lançada em janeiro. Se você bobear, você que fica pré-histórico.

  []'s




 2014-04-29 18:52 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  Pacman, copião :)


 2014-04-29 18:50 GMT-03:00 Blabos de Blebe bla...@gmail.com:

   que Modulo::funcao dispensa declarar o construtor.

  Não dispensa. Não tem nada a ver. Não misture as coisas.

  Construtor é um conceito associado a um método especial utilizado para
 inicializar objetos, ou seja, quando você está utilizando uma interface
 orientada a objetos.

  Em C++, o Construtor tem que ser um método cujo nome é o nome da
 classe.

  Em Python é outro padrão.

  Em Perl isso é livre, um construtor, ou seja um inicializador de
 objetos pode ser qualquer método que eventualmente invoque a sub bless().

  http://perldoc.perl.org/functions/bless.html

  Em Perl convencionamos, pra ninguém ficar louco, que o construtor
 chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.

  Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
 completo FQN. Não tem nada a ver com objetos, ou construtores.

  ***

  No seu caso, como bem observado pelo Junior, o que você quer é não ter
 que passar o namespace completo, por isso o uso do Exporter, que nada mais
 faz do que tornar a sua função conhecida no namespace atual.

  Exporter também não tem nada a ver com objetos.

  A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
 default. Nesse caso, ao usar o seu módulo você precisa fazer:

  use Modulo qw{ funcao };

  Aqui, boa prática significa basicamente, vou tormar o cuidado de
 exportar apenas o necessário pra não correr risco de dar conflito com outra
 função de mesmo nome de outro módulo.

  Mas é só uma politica de boa vizinhança, não quer dizer,
 necessariamente, errado. Depende do seu contexto.

  ***

  Como em Perl as coisas são mais livres, você vai ver casos de um
 package que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
 interface OO quanto procedural. Exemplo:
 https://metacpan.org/pod/String::Trigram

  Antigamente, quando OO era 'novidade', o pessoal costumava publicar
 uma interface OO *E* uma interface procedural, pra ficar ao gosto do
 cliente escolher. Outro exemplo: https://metacpan.org/pod/CGI

  Por essas e outras, *EU*, acho meio confuso ter Perl como primeira
 linguagem, pois ela te dar liberdades que em não tendo todos os conceitos
 bem sedimentados, *pode* confundir.

  O importante é, em estar estudando, não parar no estágio ah consegui
 fazer mas sim prosseguir pelo menos até o ah, entendi como funciona.

  []'s




 2014-04-29 18:32 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Funcionou da forma que o Junior passou.

  Obrigado.

  Experimentei fazer o dumper como o Bablos falou. Realmente são formas
 diferentes, sendo que Modulo::funcao dispensa declarar o construtor.

  --
 From: juniiior...@gmail.com
 Date: Tue, 29 Apr 2014 18:15:00 -0300

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

Hi.

 Em 29 de abril de 2014 18:07, Blabos de Blebe bla...@gmail.comescreveu:

 Só

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Ainda sim mataria o dragão com perl.
http://www.programacaoprogressiva.net/2012/12/Como-programadores-matariam-um-dragao-e-salvariam-a-princesa.html?m=1

Renato Santos renato.c...@gmail.com escreveu:

http://i.imgur.com/8iUZEZt.png
só pela zuera!


2014-04-29 20:25 GMT-03:00 Daniel Vinciguerra dan.vincigue...@gmail.com:

 Boas praticas com Delphi é ruim heim hahaha


 *Daniel Vinciguerra (@dvinciguerra)*
 Web solution architect, perl dev, vegetarian, geek and founder at *Bivee*
 bivee.com.br  -  github.com/Bivee


 2014-04-29 20:11 GMT-03:00 Renato Santos renato.c...@gmail.com:

 ** FLAME WARR***
 C++ e Delphi ?

 linus torvalds discorda disso!

 http://article.gmane.org/gmane.comp.version-control.git/57918




 2014-04-29 20:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  ter Perl como primeira linguagem
 Esse foi meu feliz erro.
 Sofro com alguns problemas de boas praticas mas em questão de logica
 pura eu m dou bem.
 Eu diria que quem quer aprender logica deveria aprender Perl.
 Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar
 aprender boas praticas.



 Blabos de Blebe bla...@gmail.com escreveu:

  Mas ok, não é uma boa prática...


 2014-04-29 19:15 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  café deve ser 'duro'

  TimToady!!!


 2014-04-29 19:12 GMT-03:00 Renato Santos renato.c...@gmail.com:

  Cara, café não se pode ferver! seu café deve ser 'duro'


 2014-04-29 19:01 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  Enquanto meu café ferve, aqui vale uma reflexão:

  Boas práticas é um conceito flutuante.

  Perl é uma linguagem extremamente rica e se desenvolvimento bastante
 dinâmico. O que era boa prática quando eu aprendi, já não é boa prática
 hoje. As coisas mudam.

  http://perldoc.perl.org/perlhist.html

  Embora muita gente fale que Perl é pré-histórico, a versão mais atual
 foi lançada em janeiro. Se você bobear, você que fica pré-histórico.

  []'s




 2014-04-29 18:52 GMT-03:00 Blabos de Blebe bla...@gmail.com:

  Pacman, copião :)


 2014-04-29 18:50 GMT-03:00 Blabos de Blebe bla...@gmail.com:

   que Modulo::funcao dispensa declarar o construtor.

  Não dispensa. Não tem nada a ver. Não misture as coisas.

  Construtor é um conceito associado a um método especial utilizado para
 inicializar objetos, ou seja, quando você está utilizando uma interface
 orientada a objetos.

  Em C++, o Construtor tem que ser um método cujo nome é o nome da
 classe.

  Em Python é outro padrão.

  Em Perl isso é livre, um construtor, ou seja um inicializador de
 objetos pode ser qualquer método que eventualmente invoque a sub bless().

  http://perldoc.perl.org/functions/bless.html

  Em Perl convencionamos, pra ninguém ficar louco, que o construtor
 chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso.

  Modulo::funcao() é uma chamada 'procedural' aplicando o namespace
 completo FQN. Não tem nada a ver com objetos, ou construtores.

  ***

  No seu caso, como bem observado pelo Junior, o que você quer é não ter
 que passar o namespace completo, por isso o uso do Exporter, que nada mais
 faz do que tornar a sua função conhecida no namespace atual.

  Exporter também não tem nada a ver com objetos.

  A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por
 default. Nesse caso, ao usar o seu módulo você precisa fazer:

  use Modulo qw{ funcao };

  Aqui, boa prática significa basicamente, vou tormar o cuidado de
 exportar apenas o necessário pra não correr risco de dar conflito com outra
 função de mesmo nome de outro módulo.

  Mas é só uma politica de boa vizinhança, não quer dizer,
 necessariamente, errado. Depende do seu contexto.

  ***

  Como em Perl as coisas são mais livres, você vai ver casos de um
 package que tem construtor, métodos *E* funções comuns, ou seja, tanto uma
 interface OO quanto procedural. Exemplo:
 https://metacpan.org/pod/String::Trigram

  Antigamente, quando OO era 'novidade', o pessoal costumava publicar
 uma interface OO *E* uma interface procedural, pra ficar ao gosto do
 cliente escolher. Outro exemplo: https://metacpan.org/pod/CGI

  Por essas e outras, *EU*, acho meio confuso ter Perl como primeira
 linguagem, pois ela te dar liberdades que em não tendo todos os conceitos
 bem sedimentados, *pode* confundir.

  O importante é, em estar estudando, não parar no estágio ah consegui
 fazer mas sim prosseguir pelo menos até o ah, entendi como funciona.

  []'s




 2014-04-29 18:32 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Funcionou da forma que o Junior passou.

  Obrigado.

  Experimentei fazer o dumper como o Bablos falou. Realmente são formas
 diferentes, sendo que Modulo::funcao dispensa declarar o construtor.

  --
 From: juniiior...@gmail.com
 Date: Tue, 29 Apr 2014 18:15:00 -0300

 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

Hi.

 Em 29 de abril de 2014 18:07, Blabos de Blebe bla...@gmail.comescreveu:

 Só

Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

2014-04-26 Por tôpico Aureliano Guedes
Então tenho essa versão que executou em 1s.
http://pastebin.com/DLdPwAkp

From: bla...@gmail.com
Date: Sat, 26 Apr 2014 18:39:15 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

Vamos dar um desconto por causa do primo.

2014-04-25 23:26 GMT-03:00 Junior Moraes juniiior...@gmail.com:


Hi.
Se for válido usar módulos externos, dá pra implementar com o Math::Prime::XS 
para ficar mais performático. :-)


[]'s



Em 25 de abril de 2014 23:21, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:







Não fiz em poucas linhas, mas fis em poucos segundos: 
http://pastebin.com/DLdPwAkp

Date: Tue, 22 Apr 2014 15:09:22 -0300




From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo












Claro que esta. Mas nao consegui fazer o que o que o Bablos sugeriu em uma 
única linha.



Vinícius Miasato viniciusmias...@gmail.com escreveu:







Opa,




parabéns por aceitar o desafio e levá-lo até o fim! Não sei se o código 
funciona, mas o jogo de GOLF ainda está de pé?




atenciosamente,

Vinícius Miasato






Em 22 de abril de 2014 13:13, Aureliano Guedes 
guedes_1...@hotmail.com escreveu:



http://ideone.com/LjvMRz



4:30 rodando no dinossauro (AMD Athlon 1.6GHz, 2GB Ram)





Date: Thu, 17 Apr 2014 22:25:48 -0300

From: guedes_1...@hotmail.com

To: rio-pm@pm.org

Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo





Boa ideia. Vou tentar.



Blabos de Blebe bla...@gmail.com escreveu:





Que tal o menor palíndromo primo maior que time()?




2014-04-17 22:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:



Pode ficar menor.

say '906609'



Tiago Peczenyj tiago.pecze...@gmail.com escreveu:







sub palindromo { 906609 }




2014-04-17 21:45 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:



Ola monges,



Nos últimos meses tenho visto nosso grupo um pouco parado.
E como estamos em véspera de pascoa.
Proponho uma brincadeira.
Jogar golf com o Desafio do Maior Palíndromo.



O desafio é simples, achar o maior número palíndromo (ou seja, quando lido de 
trás pra frente continua o mesmo) que seja resultado de uma multiplicação de 
dois números de 3 dígitos.



O resultado deverá ser: 906609



Eis a minha tacada:



for(my$i=100;$i1000;$i++){for(100..999){$_[0]=$_*$i 
if(($_*$i==reverse($_*$i))($_*$i=$_[0]))}}say$_[0]




___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm









-- 

Tiago B. Peczenyj

Linux User #405772



http://about.me/peczenyj 






___

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



___
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] [GOLF] Descanso de Pascoa: Maior palindromo

2014-04-25 Por tôpico Aureliano Guedes
Não fiz em poucas linhas, mas fis em poucos segundos: 
http://pastebin.com/DLdPwAkp

Date: Tue, 22 Apr 2014 15:09:22 -0300
From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo








Claro que esta. Mas nao consegui fazer o que o que o Bablos sugeriu em uma 
única linha.



Vinícius Miasato viniciusmias...@gmail.com escreveu:







Opa,




parabéns por aceitar o desafio e levá-lo até o fim! Não sei se o código 
funciona, mas o jogo de GOLF ainda está de pé?




atenciosamente,

Vinícius Miasato






Em 22 de abril de 2014 13:13, Aureliano Guedes 
guedes_1...@hotmail.com escreveu:



http://ideone.com/LjvMRz



4:30 rodando no dinossauro (AMD Athlon 1.6GHz, 2GB Ram)





Date: Thu, 17 Apr 2014 22:25:48 -0300

From: guedes_1...@hotmail.com

To: rio-pm@pm.org

Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo





Boa ideia. Vou tentar.



Blabos de Blebe bla...@gmail.com escreveu:





Que tal o menor palíndromo primo maior que time()?




2014-04-17 22:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:



Pode ficar menor.

say '906609'



Tiago Peczenyj tiago.pecze...@gmail.com escreveu:







sub palindromo { 906609 }




2014-04-17 21:45 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:



Ola monges,



Nos últimos meses tenho visto nosso grupo um pouco parado.
E como estamos em véspera de pascoa.
Proponho uma brincadeira.
Jogar golf com o Desafio do Maior Palíndromo.



O desafio é simples, achar o maior número palíndromo (ou seja, quando lido de 
trás pra frente continua o mesmo) que seja resultado de uma multiplicação de 
dois números de 3 dígitos.



O resultado deverá ser: 906609



Eis a minha tacada:



for(my$i=100;$i1000;$i++){for(100..999){$_[0]=$_*$i 
if(($_*$i==reverse($_*$i))($_*$i=$_[0]))}}say$_[0]




___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm









-- 

Tiago B. Peczenyj

Linux User #405772



http://about.me/peczenyj 






___

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] [GOLF] Descanso de Pascoa: Maior palindromo

2014-04-22 Por tôpico Aureliano Guedes
Claro que esta. Mas nao consegui fazer o que o que o Bablos sugeriu em uma 
única linha.

Vinícius Miasato viniciusmias...@gmail.com escreveu:

Opa,

parabéns por aceitar o desafio e levá-lo até o fim! Não sei se o código
funciona, mas o jogo de GOLF ainda está de pé?

atenciosamente,
Vinícius Miasato


Em 22 de abril de 2014 13:13, Aureliano Guedes
guedes_1...@hotmail.comescreveu:

 http://ideone.com/LjvMRz

 4:30 rodando no dinossauro (AMD Athlon 1.6GHz, 2GB Ram)

 --
 Date: Thu, 17 Apr 2014 22:25:48 -0300
 From: guedes_1...@hotmail.com
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo


 Boa ideia. Vou tentar.

 Blabos de Blebe bla...@gmail.com escreveu:

  Que tal o menor palíndromo primo maior que time()?


 2014-04-17 22:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Pode ficar menor.
 say '906609'

 Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

   sub palindromo { 906609 }


 2014-04-17 21:45 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Ola monges,

  Nos últimos meses tenho visto nosso grupo um pouco parado.
 E como estamos em véspera de pascoa.
 Proponho uma brincadeira.
 Jogar golf com o Desafio do Maior Palíndromo.

  O desafio é simples, achar o maior número palíndromo (ou seja, quando
 lido de trás pra frente continua o mesmo) que seja resultado de uma
 multiplicação de dois números de 3 dígitos.

  O resultado deverá ser: 906609

  Eis a minha tacada:

  for(my$i=100;$i1000;$i++){for(100..999){$_[0]=$_*$i
 if(($_*$i==reverse($_*$i))($_*$i=$_[0]))}}say$_[0]

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




  --
 Tiago B. Peczenyj
 Linux User #405772

 http://about.me/peczenyj

 ___
 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] [GOLF] Descanso de Pascoa: Maior palindromo

2014-04-17 Por tôpico Aureliano Guedes
Ola monges,
Nos últimos meses tenho visto nosso grupo um pouco parado.E como estamos em 
véspera de pascoa.Proponho uma brincadeira.Jogar golf com o Desafio do Maior 
Palíndromo.
O desafio é simples, achar o maior número palíndromo (ou seja, quando lido de 
trás pra frente continua o mesmo) que seja resultado de uma multiplicação de 
dois números de 3 dígitos.
O resultado deverá ser: 906609
Eis a minha tacada:
for(my$i=100;$i1000;$i++){for(100..999){$_[0]=$_*$i 
if(($_*$i==reverse($_*$i))($_*$i=$_[0]))}}say$_[0]   
 ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [GOLF] Descanso de Pascoa: Maior palindromo

2014-04-17 Por tôpico Aureliano Guedes
Pode ficar menor.
say '906609'

Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

sub palindromo { 906609 }


2014-04-17 21:45 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

 Ola monges,

 Nos últimos meses tenho visto nosso grupo um pouco parado.
 E como estamos em véspera de pascoa.
 Proponho uma brincadeira.
 Jogar golf com o Desafio do Maior Palíndromo.

 O desafio é simples, achar o maior número palíndromo (ou seja, quando lido
 de trás pra frente continua o mesmo) que seja resultado de uma
 multiplicação de dois números de 3 dígitos.

 O resultado deverá ser: 906609

 Eis a minha tacada:

 for(my$i=100;$i1000;$i++){for(100..999){$_[0]=$_*$i
 if(($_*$i==reverse($_*$i))($_*$i=$_[0]))}}say$_[0]

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




--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
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] [GOLF] Descanso de Pascoa: Maior palindromo

2014-04-17 Por tôpico Aureliano Guedes
Boa ideia. Vou tentar.

Blabos de Blebe bla...@gmail.com escreveu:

Que tal o menor palíndromo primo maior que time()?


2014-04-17 22:02 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Pode ficar menor.
 say '906609'

 Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

  sub palindromo { 906609 }


 2014-04-17 21:45 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Ola monges,

  Nos últimos meses tenho visto nosso grupo um pouco parado.
 E como estamos em véspera de pascoa.
 Proponho uma brincadeira.
 Jogar golf com o Desafio do Maior Palíndromo.

  O desafio é simples, achar o maior número palíndromo (ou seja, quando
 lido de trás pra frente continua o mesmo) que seja resultado de uma
 multiplicação de dois números de 3 dígitos.

  O resultado deverá ser: 906609

  Eis a minha tacada:

  for(my$i=100;$i1000;$i++){for(100..999){$_[0]=$_*$i
 if(($_*$i==reverse($_*$i))($_*$i=$_[0]))}}say$_[0]

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




  --
 Tiago B. Peczenyj
 Linux User #405772

 http://about.me/peczenyj

 ___
 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] [DUVIDA] Array muito longo

2014-04-15 Por tôpico 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

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

2014-04-15 Por tôpico Aureliano Guedes
Então. Eu queria evitar IO para nao perder em performance.
Se eu usar um banco de dados ou cache nao sera um tipo de IO?

Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

RAM não necessariamente é RAM física. Conta SWAP e isso degrada performance
pq é IO em disco.
Em 15/04/2014 13:46, Stanislaw Pusep creakt...@gmail.com escreveu:

 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 guedes_1...@hotmail.com:

 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

___
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 Aureliano Guedes
Entendi. Obrigado.

Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

Sim, mas ai você passa o Devel::NYTProf e estuda os gargalos, reduzido o IO
ao máximo SE vc precisar.
Em 15/04/2014 13:59, Aureliano Guedes guedes_1...@hotmail.com escreveu:

  Então. Eu queria evitar IO para nao perder em performance.
 Se eu usar um banco de dados ou cache nao sera um tipo de IO?

 Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

  RAM não necessariamente é RAM física. Conta SWAP e isso degrada
 performance pq é IO em disco.
 Em 15/04/2014 13:46, Stanislaw Pusep creakt...@gmail.com escreveu:

  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 guedes_1...@hotmail.com:

  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


 ___
 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 Aureliano Guedes
Tentei. Mas o pc que tava usando era um AMD Athon 1.6GHz 2gb RAM de 2007 
forcadamente estrupado por um Windows 8.1 (Deus sabe porque fizeram isso).
Depois tentei nesse servidor 
http://www.compileonline.com/execute_perl_online.php

Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

vc testou ao menos:

https://gist.github.com/peczenyj/10749501

aqui rodou de boa e consumiu quase nada


2014-04-15 14:03 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:

  Entendi. Obrigado.

 Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

  Sim, mas ai você passa o Devel::NYTProf e estuda os gargalos, reduzido o
 IO ao máximo SE vc precisar.
 Em 15/04/2014 13:59, Aureliano Guedes guedes_1...@hotmail.com
 escreveu:

  Então. Eu queria evitar IO para nao perder em performance.
 Se eu usar um banco de dados ou cache nao sera um tipo de IO?

 Tiago Peczenyj tiago.pecze...@gmail.com escreveu:

  RAM não necessariamente é RAM física. Conta SWAP e isso degrada
 performance pq é IO em disco.
 Em 15/04/2014 13:46, Stanislaw Pusep creakt...@gmail.com escreveu:

  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 guedes_1...@hotmail.com:

  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


 ___
 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://about.me/peczenyj
___
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] alguma diferença

2014-04-12 Por tôpico Aureliano Guedes
Estou tentando testar esse módulo.Devo estar cometendo algum erro que eu não 
esteja vendo


From: renato.c...@gmail.com
Date: Fri, 11 Apr 2014 17:10:18 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] alguma diferença

http://blogs.perl.org/users/michael_g_schwern/2011/03/and-the-fastest-oo-accessor-is.html




2014-04-11 17:00 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





De fato, percebi isso. Mas então o Class::Accessor não traz nada de novo?Como 
já uso o Moose não vi vantagem nenhuma no Class::Accessor.

From: tiago.pecze...@gmail.com


Date: Fri, 11 Apr 2014 16:37:59 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] alguma diferença

Moose tem muito mais features (lazy, delegators, roles) e plugins ( procure por 
MooseX:: ) do que o Class::Accessor, fora os hooks after / before / around.


Moo é um subset do Moose que também tem muito mais features que o 
Class::Accessor.



2014-04-11 16:33 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Monges,
riam o quanto quiserem mas conheci hoje o Class::Accessor.Minha dúvida é: Qual 
a diferença dele e do Moose?
Ao primeiro ver me parece a mesma coisa.



  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm




-- 
Tiago B. Peczenyj
Linux User #405772



http://about.me/peczenyj


___
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 CRONhttp://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

Re: [Rio-pm] alguma diferença

2014-04-12 Por tôpico Aureliano Guedes
So consegui corrigir o erro fazendo isso:
use base 'Class::Accessor';
Class::Accessor-mk_accessors (qw(altura largura));
From: tiago.pecze...@gmail.com
Date: Sat, 12 Apr 2014 14:25:14 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] alguma diferença

veja este exemplo:
my $mp = Foo-new({ name = Marty, role = JAPH });





vc esqueceu os { } -- que são exigidos pelo Class::Accessor



2014-04-12 14:09 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Estou tentando testar esse módulo.Devo estar cometendo algum erro que eu não 
esteja vendo
retangulo.pm

teste.pl
Erro:Can't use string (altura) as a HASH ref while strict refs in use at 
C:/Perl6

4/lib/Class/Accessor.pm line 13.


From: renato.c...@gmail.com
Date: Fri, 11 Apr 2014 17:10:18 -0300


To: rio-pm@pm.org
Subject: Re: [Rio-pm] alguma diferença

http://blogs.perl.org/users/michael_g_schwern/2011/03/and-the-fastest-oo-accessor-is.html






2014-04-11 17:00 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:







De fato, percebi isso. Mas então o Class::Accessor não traz nada de novo?Como 
já uso o Moose não vi vantagem nenhuma no Class::Accessor.

From: tiago.pecze...@gmail.com




Date: Fri, 11 Apr 2014 16:37:59 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] alguma diferença

Moose tem muito mais features (lazy, delegators, roles) e plugins ( procure por 
MooseX:: ) do que o Class::Accessor, fora os hooks after / before / around.




Moo é um subset do Moose que também tem muito mais features que o 
Class::Accessor.



2014-04-11 16:33 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Monges,
riam o quanto quiserem mas conheci hoje o Class::Accessor.Minha dúvida é: Qual 
a diferença dele e do Moose?
Ao primeiro ver me parece a mesma coisa.





  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm




-- 
Tiago B. Peczenyj
Linux User #405772



http://about.me/peczenyj


___
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 CRONhttp://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


-- 
Tiago B. Peczenyj
Linux User #405772



http://about.me/peczenyj


___
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] alguma diferença

2014-04-11 Por tôpico Aureliano Guedes
Monges,
riam o quanto quiserem mas conheci hoje o Class::Accessor.Minha dúvida é: Qual 
a diferença dele e do Moose?
Ao primeiro ver me parece a mesma coisa.
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] alguma diferença

2014-04-11 Por tôpico Aureliano Guedes
De fato, percebi isso. Mas então o Class::Accessor não traz nada de novo?Como 
já uso o Moose não vi vantagem nenhuma no Class::Accessor.

From: tiago.pecze...@gmail.com
Date: Fri, 11 Apr 2014 16:37:59 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] alguma diferença

Moose tem muito mais features (lazy, delegators, roles) e plugins ( procure por 
MooseX:: ) do que o Class::Accessor, fora os hooks after / before / around.
Moo é um subset do Moose que também tem muito mais features que o 
Class::Accessor.



2014-04-11 16:33 GMT-03:00 Aureliano Guedes guedes_1...@hotmail.com:





Monges,
riam o quanto quiserem mas conheci hoje o Class::Accessor.Minha dúvida é: Qual 
a diferença dele e do Moose?
Ao primeiro ver me parece a mesma coisa.

  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Tiago B. Peczenyj
Linux User #405772



http://about.me/peczenyj


___
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] CPAN x Pacotes Ou CPAN + Pacotes

2014-04-04 Por tôpico Aureliano Guedes
Nunca aconselhei atualizar o Perl do sistema, e para garantir minha 
integridade, continuo não aconselhando, mas...
Minhas aplicações não exigem uma 'versão específica' do Perl para serem 
executadas, então uma vez por teste, peguei um pc parado aqui e desci um Debian 
nele, depois atualizei o Perl (do sistema), e 'PA' nada aconteceu (digo nada de 
ruim).Não sei quanto a módulos usados pelo sistema, posso fazer esse teste 
depois. Mas não deu problema nenhum. 
From: bruno.b...@gmail.com
Date: Fri, 4 Apr 2014 16:35:39 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] CPAN x Pacotes Ou CPAN + Pacotes

Você poderia manter um setup do local::lib/perlbrew que fosse compartilhado 
pelos usuários do seu servidor... não e' porque estamos usado algum desses, que 
precisa ser per-user a instalação de cada um :-)


Talvez seja necessário configurar algumas variáveis de ambiente pros usuários, 
mas isso não me parece ser um problema muito difícil, certo? ;)
[ ]'s

Buss

2014-04-04 16:14 GMT-03:00 Samir Cury samircu...@gmail.com:


Interessante.
Agora, se olharmos de um ponto de vista mais sysadmin -- voce *quer* que os 
modulos estejam disponiveis system-wide (todos usuarios/ambientes) e nao se 
importa tanto com as versoes especificas dos modulos -- porque a principio a 
maioria das aplicacoes serao compativeis com uma faixa grande de versoes de 
cada modulo. 



(acredito que da menos trabalho pensar assim e consertar individualmente o que 
quebrar, do que fazer um bootstrap pra cada aplicacao pra ter certeza que 
funcionou, nao respira)



Seria o CPAN puro como root ainda sim a melhor opcao neste caso?
Valeu pela dica dos modulos dos pacotes sobre-escritos. Realmente e para se 
considerar. No entanto, nao vejo tanto mal de ter o mesmo modulo presente, 
outra versao. Concordo que e tosco ter rpm -qa | grep Modulo dizendo uma 
coisa e quando voce carrega o modulo ser outra. 



Quando o RPM for desisntalado deve remover o arquivo, dai o CPAN provavelmente 
vai se perder. Mas enquanto nao remover nada deve ser ~tranquilo.
O que estou tentando entender e - qual a melhor maneira de configurar um 
sistema padrao com ferramentas padrao (cpan, rpm, apt). Pelo visto o preco de 
eventuais gambiarras como a que descrevi nao causaria mais problemas do que o 
tempo gasto debugando o teste que nao passou no CPAN. Indesejavel, mas nao 
fatal.



Pelo que entendi no melhor dos mundos -- da instalacao padrao, voce escolhe 
entre 2 caminhos :
  * usa CPAN como root - se um teste quebrar, vai perder um tempo  * usa RPMs 
para tudo - se nao existir um pacote para o modulo, vai ter que comecar a 
sujar o sistema com modulos instalados pelo CPAN



E tenta nao misturar.
Abs

2014-04-04 11:48 GMT-07:00 Blabos de Blebe bla...@gmail.com:



Olá,

Normalmente eu evito mexer no Perl do sistema. O fedora, inclusive, é 
historicamente bastante hostil ao lidar com o Perl, diga-se de passagem.





Nos meus projetos, eu procedo da seguinte forma:
1) Instalar perlbrew*2) Instalar a versão do Perl que eu vou usar**3) Instalar 
o cpanm (App::cpanminus)4) se máquina de desenvolvimento então




instalar Carton e Dist::Zillaend-se
Daí, para os meus módulos ou aplicações, faço o gerenciamento de pacotes com 
Carton, que me deixa travar a versão exata*** de cada módulo.





Para os módulos não é necessário, mas para as aplicações, o carton permite que 
você empacote todas as dependências em um diretório vendor/, que você pode 
fazer um tar e subir para aquele servidor de produção que não sai pra internet, 
e então instalar normalmente, de forma que mesmo pacotes com XS funcionem. O 
carton se empacotes junto, inclusive, para o caso da máquina destino não ter 
carton instalado.





Assim eu tenho o controle exato de cada versão de cada pacote.
O CPAN é fantástico, sempre foi, mas eu diria que dá pra dividi-lo em duas 
eras: antes e depois do Carton.







* Curiosamente hoje, a instalação do Perlbrew falhou num debian 6 que eu to 
configurando e eu precisei instalar o pacote Devel::PatchPerl diretamente no 
sistema com o cpan tradicional (root).





** O drawback é que eu preciso de acesso ao compilador.
*** Sim, raramente acontece, mas eu já precisei achar uma combinação X de 
versões pra funcionar redondo, mas nada além de editar o cpanfile e rodar 
carton install denovo.





[]'s

2014-04-04 15:24 GMT-03:00 Samir Cury samircu...@gmail.com:





E ai pessoal,
Acabei de passar por um pequeno problema com o CPAN e achei uma solucao 
interessante. Tambem gostaria de perguntar ao pessoal que e mais fa do CPAN, o 
que acham de modulos que sao distribuidos como pacotes. Se e bom/ruim para o 
ecossistema.






Entao, o problema foi quando tentei cpan install CouchDB::Client. Que funcionou 
em outras maquinas mas nao no Fedora 19 que tenho aqui. Quebrou em algum modulo 
referente a testes, que dependia do Module::Build que tambem falhou.






Nao querendo gastar muito tempo com isso, fui para o plano B : Pacotes de 
modulos. O motivo dos 

[Rio-pm] [Curiosidade] Perl no smartphone

2014-03-02 Por tôpico Aureliano Guedes
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


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

2014-01-30 Por tôpico Aureliano Guedes
Caraca. Complexo.
O melhor, foi ver a pela primeira vez uma mulher na bioinformatica.
Hello colega bioinformata.

Stanislaw Pusep creakt...@gmail.com 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 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 bionica2007-p...@yahoo.com

  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],
   

Re: [Rio-pm] Perl e Facebook

2014-01-10 Por tôpico Aureliano Guedes
Posso ta errado, mas acredito que aquele chat do face usa Perl.

 Mas que trem e esse de hiphop sei la o que e esse de PHP com performance de 
C++?


Renato Santos renato.c...@gmail.com escreveu:

Isso é só um mirror, geralmente de contribuição por utilizar Perl em
alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um
servidor não é nada, eles fazem o mirror. Assim como globo . com, etc
On Jan 10, 2014 9:26 AM, Andre Luis alpbs2...@gmail.com wrote:

 Bom dia lista,


 Hoje configurando o CPAN na minha maquina notei uma coisa curiosa


 (32) http://cpan.mirror.facebook.net/


 Alguém sabe se o facebook está trabalhando com perl? Eu achava que o
 facebook usava PHP


 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 e Facebook

2014-01-10 Por tôpico Aureliano Guedes
Vei... to sem palavras.

Bruno Buss bruno.b...@gmail.com escreveu:

Sim, inclusive tem pelo menos um vídeo do grupo Facebook Engineering[1]
onde eles falam sobre os deploys deles e coisa do tipo e a parada é bem
mindfuck para quem não está acostumado com a escala desse tipo ;P

[1] https://www.facebook.com/Engineering

PS: Vale a pena ler/ver a maioria dos textos/vídeos deste grupo ;)


On Fri, Jan 10, 2014 at 3:55 PM, Blabos de Blebe bla...@gmail.com wrote:

 Hly Shit


 On Fri, Jan 10, 2014 at 3:33 PM, Tiago Peczenyj 
 tiago.pecze...@gmail.comwrote:


 http://arstechnica.com/business/2012/04/exclusive-a-behind-the-scenes-look-at-facebook-release-engineering/

 Because Facebook's entire code base is compiled down to a single binary
 executable, the company's deployment process is quite different from what
 you'd normally expect in a PHP environment. Rossi told me that the binary,
 which represents the entire Facebook application, is approximately 1.5GB in
 size. When Facebook updates its code and generates a new build, the new
 binary has to be pushed to all of the company's servers.

 Moving a 1.5GB binary blob to countless servers is a non-trivial
 technical challenge. After exploring several solutions, Facebook came up
 with the idea of using BitTorrent, the popular peer-to-peer filesharing
 protocol. BitTorrent is very good at propagating large files over a large
 number of different servers.


 2014/1/10 Blabos de Blebe bla...@gmail.com

  e o facebook todo é um binario com mais de 1 GB
 
  o deploy é via bit-torrent.

 Você, claro, tá tirando um sarro, né!?


 2014/1/10 Tiago Peczenyj tiago.pecze...@gmail.com

 basicamente eles convertem PHP em C++ usando o HipHop

 e o facebook todo é um binario com mais de 1 GB

 o deploy é via bit-torrent.


 2014/1/10 Aureliano Guedes guedes_1...@hotmail.com

  Posso ta errado, mas acredito que aquele chat do face usa Perl.

  Mas que trem e esse de hiphop sei la o que e esse de PHP com
 performance de C++?


 Renato Santos renato.c...@gmail.com escreveu:

  Isso é só um mirror, geralmente de contribuição por utilizar Perl
 em alguns pedaços (e no começo era um Perl script cgi) aí como pra eles um
 servidor não é nada, eles fazem o mirror. Assim como globo . com, etc
 On Jan 10, 2014 9:26 AM, Andre Luis alpbs2...@gmail.com wrote:

   Bom dia lista,


  Hoje configurando o CPAN na minha maquina notei uma coisa curiosa


 (32) http://cpan.mirror.facebook.net/


  Alguém sabe se o facebook está trabalhando com perl? Eu achava que o
 facebook usava PHP


  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




 --
 Tiago B. Peczenyj
 Linux User #405772

 http://about.me/peczenyj

 ___
 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://about.me/peczenyj

 ___
 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




--
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] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Aureliano Guedes
Boa tarde,Monges.
Gostaria de saber se existe a possibilidade de eu controlar comandos do sistema?
Bom, quando estamos executando algum script, se eu quiser encerra-lo a qualquer 
momento basta que eu tecle Ctrl + C.Mas e se eu quisesse, especificamente em um 
script, determinar que seu encerramento fosse após apertar 3 vezes consecutivas 
Ctrl + C, ou então ao apertar Ctrl + shift + C, ou sei lá, qualquer outro 
comando que eu queira, como deveria fazer?
Desde já grato.
Att,Aureliano Guedes  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Aureliano Guedes
André Luiz, vou fazer da sua forma, obrigado.Agora fiquei sem entender porque 
$SIG{qw (INT TERM HUP)}...
Renato, tentei fazer assim:my $c = 0; $SIG{INT} = sub { $c = 2 ? $c++ : die };
while (1) {print TESTE\n;sleep 1;}
Deu certo, mas deu errado, por algum motivo tenho que apertar ctrl + c umas 4 
vezes ou mais para dar certo

From: renato.c...@gmail.com
Date: Mon, 25 Nov 2013 16:22:07 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [HELP] Controlando comandos do sistema

 SIGINT2   TermInterrupt from keyboard




Esse é o CTRL+C,






$SIG{INT} = 'IGNORE';







não consegui fazer assim:


my $c = 0; $SIG{INT} = sub { return 'IGNORE' if $c++  3 };



não sei porque, alguem sabe?




2013/11/25 Andre Luis alpbs2...@gmail.com



nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi ele 
quer tratar 


$SIG{KILL} = sub {  do_something() }; 
 



Em 25 de novembro de 2013 16:06, Renato Santos renato.c...@gmail.com escreveu:




você tem que ignorar o sinal de KILL do sistema.



para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html




algo para ignorar pra sempre,$SIG{KILL} = 'IGNORE';

2013/11/25 Aureliano Guedes guedes_1...@hotmail.com









Boa tarde,Monges.
Gostaria de saber se existe a possibilidade de eu controlar comandos do sistema?
Bom, quando estamos executando algum script, se eu quiser encerra-lo a qualquer 
momento basta que eu tecle Ctrl + C.





Mas e se eu quisesse, especificamente em um script, determinar que seu 
encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao 
apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira, como 
deveria fazer?






Desde já grato.
Att,Aureliano Guedes  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Saravá,

Renato CRONhttp://www.renatocron.com/blog/





@renato_cron


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 

technology does not drive change - it enables change


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Saravá,


Renato CRONhttp://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

Re: [Rio-pm] [HELP] Controlando comandos do sistema

2013-11-25 Por tôpico Aureliano Guedes
André Luiz, vou fazer da sua forma, obrigado.Agora fiquei sem entender porque 
$SIG{qw (INT TERM HUP)}...
Renato, tentei fazer assim:my $c = 0; $SIG{INT} = sub { $c = 2 ? $c++ : die };
while (1) {print TESTE\n;sleep 1;}
Deu certo, mas deu errado, por algum motivo tenho que apertar ctrl + c umas 4 
vezes ou mais para dar certo

From: renato.c...@gmail.com
Date: Mon, 25 Nov 2013 16:22:07 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [HELP] Controlando comandos do sistema

 SIGINT2   TermInterrupt from keyboard




Esse é o CTRL+C,






$SIG{INT} = 'IGNORE';







não consegui fazer assim:


my $c = 0; $SIG{INT} = sub { return 'IGNORE' if $c++  3 };



não sei porque, alguem sabe?




2013/11/25 Andre Luis alpbs2...@gmail.com



nesse caso só iria ignorar ele nao irira tratar ... pelo que eu entendi ele 
quer tratar 


$SIG{KILL} = sub {  do_something() }; 
 



Em 25 de novembro de 2013 16:06, Renato Santos renato.c...@gmail.com escreveu:




você tem que ignorar o sinal de KILL do sistema.



para saber mais sobre os sinais, http://perldoc.perl.org/perlipc.html




algo para ignorar pra sempre,$SIG{KILL} = 'IGNORE';

2013/11/25 Aureliano Guedes guedes_1...@hotmail.com









Boa tarde,Monges.
Gostaria de saber se existe a possibilidade de eu controlar comandos do sistema?
Bom, quando estamos executando algum script, se eu quiser encerra-lo a qualquer 
momento basta que eu tecle Ctrl + C.





Mas e se eu quisesse, especificamente em um script, determinar que seu 
encerramento fosse após apertar 3 vezes consecutivas Ctrl + C, ou então ao 
apertar Ctrl + shift + C, ou sei lá, qualquer outro comando que eu queira, como 
deveria fazer?






Desde já grato.
Att,Aureliano Guedes  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Saravá,

Renato CRONhttp://www.renatocron.com/blog/





@renato_cron


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 

technology does not drive change - it enables change


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
Saravá,


Renato CRONhttp://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

Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère

2013-11-10 Por tôpico Aureliano Guedes
Bom, fiz as mudanças aconselhadas e mais outras,ainda transformei em uma classe.
Vigenere.pm- http://pastebin.com/aL4brPZxScript teste - 
http://pastebin.com/nbuqPqUr

Ou- https://www.dropbox.com/sh/4diypsz4y2puvxq/t0HuRZLvZW/Vigenere_Perl
Por algum motivo tem alguma coisa dando errado com o Moose, ainda não 
identifiquei, alguém ai sabe o que poderia ser??
From: n...@fastmail.fm
To: rio-pm@pm.org
Date: Sun, 10 Nov 2013 04:16:56 -0200
Subject: Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère






 
 
 
On Sun, Nov 10, 2013, at 01:13 AM, Tiago Peczenyj wrote:

3- use map :)

 
ao inves de 

 
my @b = split (//, $c);

for (my $i = 0; $i  @b; $i++){

$b[$i] = ord $b[$i];

}


 
podes fazer

 
return map { ord } split //, $c;


 
quer enxugar mais uma gota? faz

 
map ord, split //, $c;

 
:)

 
--

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] [Fun - passa tempo] Cifra de Vigenère

2013-11-10 Por tôpico Aureliano Guedes
#!usr/env/bin perl
use feature 'say';use common::sense;use Vigenere;
my $a = Vigenere-new();$a-key('cinco');$a-word('teste'); 
say Resultado:  . $a-encode();
From: tiago.pecze...@gmail.com
Date: Sun, 10 Nov 2013 22:42:46 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [Fun - passa tempo] Cifra de Vigenère

mostra o codigo

2013/11/10 Aureliano Guedes guedes_1...@hotmail.com





Certo, mas eu estou preenchendo os atributos, a não ser que eu esteja 
preenchendo de forma errada.

From: tiago.pecze...@gmail.com


Date: Sun, 10 Nov 2013 22:22:14 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [Fun - passa tempo] Cifra de Vigenère

sim pq este erro vem do fato que este atributo é requerido


se vc quer dar uma mensagem mais bonitinha pro usuario, valide os imputs no seu 
script antes de instanciar a classe. assim vc separa as coisas :)



2013/11/10 Aureliano Guedes guedes_1...@hotmail.com







Bom, usei o Moose como recomendou, mais pratico.Quanto ao if, realmente foi 
falta de atenção, deveria ser um  no lugar da virgula.
Mas o erro que retorna é



Attribute (key) is required at C:/Perl/site/lib/Moose/Meta/Attribute.pm line 519
Por algum motivo, é como se não fosse atribuido valor algum a key.
Quanto ao metodo BUILD é que como ja tinha o codigo quase pronto fiquei com 
preguissa de usar para validar, mas vou mudar para que word e key tenham o 
mesmo tamanho sempre.






From: tiago.pecze...@gmail.com
Date: Sun, 10 Nov 2013 21:00:04 -0200
To: rio-pm@pm.org




Subject: Re: [Rio-pm]   [Fun - passa tempo] Cifra de Vigenère

Aureliano
com Moose vc pode marcar um atributo como required. assim se alguem esquecer 
ele na hora de inicializar a classe haverá uma mensagem de erro.




has 'word' =(

is = 'rw',isa = 'Str',
required = 1,);
melhor do que utilizar 'default' para validação. eu uso MUITO o default mas 
justamente para inicializar o que eu preciso.






alias se vc precisa validar o tamanho da chave e do texto, vc poderia utilizar 
BUILD para isso.
http://search.cpan.org/dist/Moose/lib/Moose/Manual/Construction.pod







agora o que vc quer dizer com isso?
if (isalpha($word[$a]), isalpha($key[$a])){ 













o que é um if com virgula?

2013/11/10 Aureliano Guedes guedes_1...@hotmail.com









Bom, fiz as mudanças aconselhadas e mais outras,ainda transformei em uma classe.
Vigenere.pm- http://pastebin.com/aL4brPZx





Script teste - http://pastebin.com/nbuqPqUr

Ou- https://www.dropbox.com/sh/4diypsz4y2puvxq/t0HuRZLvZW/Vigenere_Perl






Por algum motivo tem alguma coisa dando errado com o Moose, ainda não 
identifiquei, alguém ai sabe o que poderia ser??
From: n...@fastmail.fm






To: rio-pm@pm.org
Date: Sun, 10 Nov 2013 04:16:56 -0200
Subject: Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère






 
 
 
On Sun, Nov 10, 2013, at 01:13 AM, Tiago Peczenyj wrote:

3- use map :)

 
ao inves de 

 
my @b = split (//, $c);

for (my $i = 0; $i  @b; $i++){

$b[$i] = ord $b[$i];

}


 
podes fazer

 
return map { ord } split //, $c;


 
quer enxugar mais uma gota? faz

 
map ord, split //, $c;

 
:)

 
--

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


-- 
Tiago B. Peczenyj
Linux User #405772







http://about.me/peczenyj


___
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://about.me/peczenyj


___
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://about.me/peczenyj


___
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] Emissão de NF-e

2013-10-28 Por tôpico Aureliano Guedes
Bom, eu já havia lido a respeito, e vi que é bem complicadinho, pois existe 
muita burrocracia (regrinha), alem de que a maioria dos desenvolvedores que 
conheci que mechem com isso falaram que não há consenso entre os órgãos.A 
exemplo disso é o código das cidades, o CEP é o modelo mais conhecido para 
identificar uma cidade, mas na receita federal são identificados por outro 
número, e no IBGE outro.
Em Delphi, existe um componente chamado AcBR 
(http://acbr.sourceforge.net/drupal/?q=node/36) não é um emissor, mas adianta o 
trabalho e muito.No CPAN tem um módulo chamado Business::BR::NFe::RPS::TXT 
(http://search.cpan.org/~rentocron/Business-BR-NFe-RPS-TXT-0.0124/lib/Business/BR/NFe/RPS/TXT.pm),
 e só.
Pensei em tentar desenvolver um módulo para facilitar o desenvolvimento de 
emissores de NF-e em Perl, pois acho que ficaria muito bom já que tem empresas 
que emitem um volume assustador de notas.
O emissor gratuito do governo trava totalmente quando você emite mais de 30 
notas por dia, digo pois conheço um cara mão-de-vaca, que só usa ele e passa 
dificuldades por conta disso.
Quanto a ser pago, vou verificar, pois também acho um absurdo se fosse (pago 
para receita, não para empresas que desenvolvem essas ferramentas), contudo o 
emissor gratuito do governo não é pago, o que me faz pensar que eu tenho 
direito de desenvolver meu próprio emissor sem precisar pagar nada pra ninguém.


Date: Sun, 27 Oct 2013 22:54:21 -0200
From: andregarciacarne...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Emissão de NF-e

Aureliano
Acho difícil que exista algo desse tipo em qualquer linguagem, que não seja 
proprietário. Mesmo para poder usar a API via webservice é preciso está 
credenciado pela receita federal, e o serviço, se não me engano, é pago! O que 
acho um absurdo, mas isso não importa!


Achei esse material aqui num fórum. Não sei se está atualizado Espero que seja 
útil!
http://www.guj.com.br/posts/downloadAttach/4710.java


Fuçando mais um pouquinho achei isso aqui:
http://www.ticontrole.gov.br/portal/page/portal/ticontrole/biblioteca



Por acaso é a origem do documento que encontrei no fórum. Mas não encontrei 
essas coisas no site da receita federal. Provavelmente porque não deveria mesmo 
estar lá!

Proost!


2013/10/27 Aureliano Guedes guedes_1...@hotmail.com




Boa tarde,Monges.
Gostaria de saber se alguém conhece algum módulo voltado para integração com a 
secretaria da fazenda para emissão de nota fiscal eletrônica?

Obrigado, 

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
André Garcia Carneiro
Software Engineer

(11)982907780


___
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] Emissão de NF-e

2013-10-28 Por tôpico Aureliano Guedes
Eu pensei em fazer direcionado para a nota fiscal eletrônica (Federal).No 
mínimo iria facilitar a vida de muita gente que passa meses (isso mesmo, meses) 
para desenvolver um sistema de geração de NF-e. Deixo claro que não tenho 
intuito de ganhar dinheiro com isso, sou só um bioinformata e dono de 
confecção,Mas eu lanço aqui a proposta de desenvolver esse sistema, eu mesmo 
vou começar a estudar o assunto e vou entrar nesse projeto,Quem quiser entrar 
nesse projeto comigo será bem vindo, podemos discutir sobre como faremos, por 
onde começar, pensei em ate mesmo criar um site para o projeto. Estou criando 
um sistema de gerenciamento para minha empresa, mas esta sendo em Delphi (que é 
um lixo de linguagem por sinal), mas consigo criar tempo ainda para o projeto.
Deixo aqui e-mail e skype:guedes.aureliano@gmail.comaureliano.guedes
From: renato.c...@gmail.com
Date: Mon, 28 Oct 2013 10:47:02 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Emissão de NF-e

Até onde eu lembro, o maior problema mesmo era conseguir testar se os XML 
estavam corretos, pq tem q ter os arquivos de chaves e etc.
eu não entendo bem disso (embora seja o mantedor do modulo haha)


acho que pra pequenas empresas que queiram fazer isso, compensa pagar algum 
terceiro.
mas seria bem legal ter em perl, poderia ate virar concorrente dessas empresas 
que vendem para pequnas!



2013/10/28 Daniel Vinciguerra dan.vincigue...@gmail.com


Se alguém iniciar o projeto eu me proponho a contribuir!

Só deve ser definido bem se o projeto em questão será para nota fiscal 
eletrônica (federal) ou  para notas de serviço (municipal e cada prefeitura 
possui uma implementação).





Abraço,


Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra






2013/10/28 Renato Santos renato.c...@gmail.com




Hmm,
e um plus, sobre o B:BR:NFe::RPS::TXT é que ele é apenas para o estado de São 
Paulo
E o TXT tem que ser enviado manualmente pelo contador/responsavel.







Até onde eu sei, o mais completo em linguagens não java nem .net é o 
http://www.nfephp.org/




porém nunca usei!




2013/10/28 Aureliano Guedes guedes_1...@hotmail.com









Bom, eu já havia lido a respeito, e vi que é bem complicadinho, pois existe 
muita burrocracia (regrinha), alem de que a maioria dos desenvolvedores que 
conheci que mechem com isso falaram que não há consenso entre os órgãos.





A exemplo disso é o código das cidades, o CEP é o modelo mais conhecido para 
identificar uma cidade, mas na receita federal são identificados por outro 
número, e no IBGE outro.
Em Delphi, existe um componente chamado AcBR 
(http://acbr.sourceforge.net/drupal/?q=node/36) não é um emissor, mas adianta o 
trabalho e muito.





No CPAN tem um módulo chamado Business::BR::NFe::RPS::TXT 
(http://search.cpan.org/~rentocron/Business-BR-NFe-RPS-TXT-0.0124/lib/Business/BR/NFe/RPS/TXT.pm),
 e só.






Pensei em tentar desenvolver um módulo para facilitar o desenvolvimento de 
emissores de NF-e em Perl, pois acho que ficaria muito bom já que tem empresas 
que emitem um volume assustador de notas.






O emissor gratuito do governo trava totalmente quando você emite mais de 30 
notas por dia, digo pois conheço um cara mão-de-vaca, que só usa ele e passa 
dificuldades por conta disso.






Quanto a ser pago, vou verificar, pois também acho um absurdo se fosse (pago 
para receita, não para empresas que desenvolvem essas ferramentas), contudo o 
emissor gratuito do governo não é pago, o que me faz pensar que eu tenho 
direito de desenvolver meu próprio emissor sem precisar pagar nada pra ninguém.








Date: Sun, 27 Oct 2013 22:54:21 -0200
From: andregarciacarne...@gmail.com
To: rio-pm@pm.org






Subject: Re: [Rio-pm] Emissão de NF-e

Aureliano
Acho difícil que exista algo desse tipo em qualquer linguagem, que não seja 
proprietário. Mesmo para poder usar a API via webservice é preciso está 
credenciado pela receita federal, e o serviço, se não me engano, é pago! O que 
acho um absurdo, mas isso não importa!








Achei esse material aqui num fórum. Não sei se está atualizado Espero que seja 
útil!
http://www.guj.com.br/posts/downloadAttach/4710.java








Fuçando mais um pouquinho achei isso aqui:
http://www.ticontrole.gov.br/portal/page/portal/ticontrole/biblioteca









Por acaso é a origem do documento que encontrei no fórum. Mas não encontrei 
essas coisas no site da receita federal. Provavelmente porque não deveria mesmo 
estar lá!







Proost!


2013/10/27 Aureliano Guedes guedes_1...@hotmail.com










Boa tarde,Monges.
Gostaria de saber se alguém conhece algum módulo voltado para integração com a 
secretaria da fazenda para emissão de nota fiscal eletrônica?







Obrigado, 

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
André Garcia Carneiro
Software Engineer







(11)982907780

[Rio-pm] Emissão de NF-e

2013-10-27 Por tôpico Aureliano Guedes
Boa tarde,Monges.
Gostaria de saber se alguém conhece algum módulo voltado para integração com a 
secretaria da fazenda para emissão de nota fiscal eletrônica?
Obrigado, ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] Visual Perl

2013-10-25 Por tôpico Aureliano Guedes
Ola monges,
Andei lendo alguns boatos, mas nenhuma fonte segura e/ou confiável sobre um tal 
de Visual Perl (parece que assim que chamam).
Parece que seria um modo de desenvolver aplicações visuais em Perl dentro do MS 
Visual Studio.
Não sei se seria na plataforma .NET (o que acharia ridículo, já que no final 
tudo vira MSIL),ou se usaria as ferramentas do VS para desenvolver a interface 
gráfica.
Bom, fiquei muito curioso.
Vocês que são muito mais experientes que eu, sabem de alguma coisa do tipo.
Seria legal, pois o GTK++ é ridículo, o ruim seria só pode desenvolver para 
Windows (Ruindows).   ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Visual Perl

2013-10-25 Por tôpico Aureliano Guedes
Iorgute sabor laranja é bom, por sinal.
Bom, não consigo enxergar também Perl rodando na plataforma .NET, realmente, 
Perl não tem as mesmas falhas que o interpretador Ruby ou Python, contudo, se 
fosse possível desenvolver programas com interface gráfica tão boas quanto a de 
projetos WPF e ainda com a praticidade do Visual Studio (que diga-se de 
passagem, entrega quase que o código todo pronto) seria muito interessante, 
pois possibilitaria desenvolver rapidamente aplicações 
debilmentaly-frendily-user.
Agora se fosse acontecer como acontece com o VB.Net e o C#, onde a única coisa 
que muda é a sintaxe da linguagem, mas no final tudo vira MSIL, seria ridículo 
e  ainda perderiamos todas as vantagens que Perl nos fornece.

Eu mesmo estou desenvolvendo um sistema para uma empresa que abri 
recentemente.Estou fazendo em VB.Net, pois meus dois sócios precisam saber usar 
o sistema também, hoje, para aplicações visuais para Windows não vejo nada 
melhor que .NET, independente de ser C# ou VB.
Agora, Daniel Vinciguerra, quanto a parte de emissão de NF-e, você se 
importaria de me dar umas dicas de como foi feito? Achei interessante, não 
emito mais que 50 NF-e por mês mas seria interessante se eu aplicar esse método.
No final, não há nenhum projeto, seja Perl5 ou Perl6, ativo e promissor, 
visando desenvolvimento de ferramentas para construção de interface gráfica 
descente em Perl?

From: leonardo.bal...@gmail.com
Date: Fri, 25 Oct 2013 16:42:41 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Visual Perl

Só vejo algumas justificativas para a existência de IronPython e IronRuby:

- tentativa de resolver problema de performance e escalabilidade de 
interpretador Python ou Ruby. Não vejo esse problema com Perl, isso parece 
melhor solucionado.


- Política corporativa. Desenvolvedores frustrados com .NET querem a 
experiência de outra linguagem e partem para essas linguagens que - atualmente 
- são mainstream entre as dinâmicas.
- Java tem isso, .NET tem que ter igual, vide o C#.


- Prova conceitual e de mkt para atrair desenvolvedores Python e Ruby para o 
uso de estrutura .NET. Acho que devs Perl não caem nessa, é muito meh, pois 
não resolve muita coisa em Perl.

Não estou criticando um IronPerl/ Visual Perl que seja, mas pra mim é uma 
combinação que não faz sentido. Tipo suco de laranja e iogurte. :)






Em 25 de outubro de 2013 16:31, Daniel Vinciguerra dan.vincigue...@gmail.com 
escreveu:


Leo,

Concordo que essa dobradinha não é algo comum mas temos hoje o IronPython e 
IronRuby e são implementações em CLI bem competentes  mostrando que isso é 
possível e viável.





Temos hoje também um projeto que visa implementar o Perl 6 em uma virtual 
machine .Net que é o projeto Niecza.
https://github.com/sorear/niecza



E a alguns anos fiz uma implementação que integrava um serviço escrito em .Net 
a um modulo Perl para trabalhar com processamento e informações relacionados a 
notas fiscais eletrônicas de uma grande empresa de logística nacional. O volume 
de notas processadas por dia era bem impressionante e o projeto foi bem sério e 
crítico pois essas informações precisavam ser repassadas para os clientes!






Não estou defendendo nem criticando nada... estou lhe dando outro ponto de 
vista e você tira suas conclusões a partir daqui! ;-)

Grande abraço,







Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra






2013/10/25 Daniel Vinciguerra dan.vincigue...@gmail.com




Boa tarde Aureliano,

Visual Perl era um projeto da Active State que visava implementar um add-on 
para o Visual Studio na esperança de possibilitar o desenvolvimento Perl usando 
o IDE Visual Studio.






http://web.archive.org/web/20011107130136/http://www.activestate.com/Products/Visual_Perl/






O projeto foi descontinuado e logo após foi substituído pelo atual ActiveState 
Komodo IDE¹ que é uma ferramenta multiplataforma baseada na interessante e 
multiplataforma GUI XUL² da Mozilla.


Temos algumas formas de fazer Perl e .Net trabalharem juntas mas não temos um 
interpretador Perl construído para CLI³.

1 - http://www.activestate.com/komodo-ide





2 - https://developer.mozilla.org/en/docs/XUL
3 - http://en.wikipedia.org/wiki/Common_Language_Infrastructure






Abraço,


Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra







2013/10/25 Aureliano Guedes guedes_1...@hotmail.com








Ola monges,
Andei lendo alguns boatos, mas nenhuma fonte segura e/ou confiável sobre um tal 
de Visual Perl (parece que assim que chamam).
Parece que seria um modo de desenvolver aplicações visuais em Perl dentro do MS 
Visual Studio.





Não sei se seria na plataforma .NET (o que acharia ridículo, já que no final 
tudo vira MSIL),ou se usaria as ferramentas do VS para desenvolver a interface 
gráfica.





Bom, fiquei muito curioso.
Vocês que são muito mais experientes que eu, sabem de alguma coisa do tipo.
Seria legal, pois o GTK++ é ridículo

Re: [Rio-pm] Visual Perl

2013-10-25 Por tôpico Aureliano Guedes
Por sinal, sempre me pareceu que a MS nunca deu muita moral para o Perl, fora 
os roubos de projetos.
Parrot se não me engano viria para fazer o que a plataforma .NET hoje faz. 
Parrot se não estou enganado é mais antigo que o .NET.
From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Fri, 25 Oct 2013 23:04:35 +
Subject: Re: [Rio-pm] Visual Perl




Iorgute sabor laranja é bom, por sinal.
Bom, não consigo enxergar também Perl rodando na plataforma .NET, realmente, 
Perl não tem as mesmas falhas que o interpretador Ruby ou Python, contudo, se 
fosse possível desenvolver programas com interface gráfica tão boas quanto a de 
projetos WPF e ainda com a praticidade do Visual Studio (que diga-se de 
passagem, entrega quase que o código todo pronto) seria muito interessante, 
pois possibilitaria desenvolver rapidamente aplicações 
debilmentaly-frendily-user.
Agora se fosse acontecer como acontece com o VB.Net e o C#, onde a única coisa 
que muda é a sintaxe da linguagem, mas no final tudo vira MSIL, seria ridículo 
e  ainda perderiamos todas as vantagens que Perl nos fornece.

Eu mesmo estou desenvolvendo um sistema para uma empresa que abri 
recentemente.Estou fazendo em VB.Net, pois meus dois sócios precisam saber usar 
o sistema também, hoje, para aplicações visuais para Windows não vejo nada 
melhor que .NET, independente de ser C# ou VB.
Agora, Daniel Vinciguerra, quanto a parte de emissão de NF-e, você se 
importaria de me dar umas dicas de como foi feito? Achei interessante, não 
emito mais que 50 NF-e por mês mas seria interessante se eu aplicar esse método.
No final, não há nenhum projeto, seja Perl5 ou Perl6, ativo e promissor, 
visando desenvolvimento de ferramentas para construção de interface gráfica 
descente em Perl?

From: leonardo.bal...@gmail.com
Date: Fri, 25 Oct 2013 16:42:41 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Visual Perl

Só vejo algumas justificativas para a existência de IronPython e IronRuby:

- tentativa de resolver problema de performance e escalabilidade de 
interpretador Python ou Ruby. Não vejo esse problema com Perl, isso parece 
melhor solucionado.


- Política corporativa. Desenvolvedores frustrados com .NET querem a 
experiência de outra linguagem e partem para essas linguagens que - atualmente 
- são mainstream entre as dinâmicas.
- Java tem isso, .NET tem que ter igual, vide o C#.


- Prova conceitual e de mkt para atrair desenvolvedores Python e Ruby para o 
uso de estrutura .NET. Acho que devs Perl não caem nessa, é muito meh, pois 
não resolve muita coisa em Perl.

Não estou criticando um IronPerl/ Visual Perl que seja, mas pra mim é uma 
combinação que não faz sentido. Tipo suco de laranja e iogurte. :)






Em 25 de outubro de 2013 16:31, Daniel Vinciguerra dan.vincigue...@gmail.com 
escreveu:


Leo,

Concordo que essa dobradinha não é algo comum mas temos hoje o IronPython e 
IronRuby e são implementações em CLI bem competentes  mostrando que isso é 
possível e viável.





Temos hoje também um projeto que visa implementar o Perl 6 em uma virtual 
machine .Net que é o projeto Niecza.
https://github.com/sorear/niecza



E a alguns anos fiz uma implementação que integrava um serviço escrito em .Net 
a um modulo Perl para trabalhar com processamento e informações relacionados a 
notas fiscais eletrônicas de uma grande empresa de logística nacional. O volume 
de notas processadas por dia era bem impressionante e o projeto foi bem sério e 
crítico pois essas informações precisavam ser repassadas para os clientes!






Não estou defendendo nem criticando nada... estou lhe dando outro ponto de 
vista e você tira suas conclusões a partir daqui! ;-)

Grande abraço,







Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra






2013/10/25 Daniel Vinciguerra dan.vincigue...@gmail.com




Boa tarde Aureliano,

Visual Perl era um projeto da Active State que visava implementar um add-on 
para o Visual Studio na esperança de possibilitar o desenvolvimento Perl usando 
o IDE Visual Studio.






http://web.archive.org/web/20011107130136/http://www.activestate.com/Products/Visual_Perl/






O projeto foi descontinuado e logo após foi substituído pelo atual ActiveState 
Komodo IDE¹ que é uma ferramenta multiplataforma baseada na interessante e 
multiplataforma GUI XUL² da Mozilla.


Temos algumas formas de fazer Perl e .Net trabalharem juntas mas não temos um 
interpretador Perl construído para CLI³.

1 - http://www.activestate.com/komodo-ide





2 - https://developer.mozilla.org/en/docs/XUL
3 - http://en.wikipedia.org/wiki/Common_Language_Infrastructure






Abraço,


Daniel Vinciguerra

Web Solutions Architect and Co-Owner at Bivee
http://github.com/dvinciguerra







2013/10/25 Aureliano Guedes guedes_1...@hotmail.com








Ola monges,
Andei lendo alguns boatos, mas nenhuma fonte segura e/ou confiável sobre um tal 
de Visual Perl (parece que assim que chamam).
Parece que seria um modo de desenvolver aplicações

Re: [Rio-pm] [OFF] - Mão de Obra Projetos

2013-06-13 Por tôpico Aureliano Guedes
Cara, essa discussão parece spam no meu e-mail.
Aprendam, o maior derrota dos tolos é o silêncio dos sábios.
Quantas vezes já procurei os monges com tolas dúvidas e/ou comentários, quantas 
vezes o bulling foi pesado comigo, e quantas vezes eu apelei? Não importa se 
inocente ou maliciosa a brincadeira, comentario, resposta, sempre levo na 
esportiva ou silencio, pois não vale apena queimar a imagem perante uma 
sociedade profissional com infantilidades, ainda mais quando se trata de dois 
grandes profissionais como vocês.
Abraços,
Aureliano Guedes, bioinformata

From: marciodesouzaferre...@gmail.com
Date: Thu, 13 Jun 2013 14:41:28 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] [OFF] - Mão de Obra Projetos

E nao houve desdenha, pelo contrário.Como diz o ditado: Corrija um sábio e o 
fará mais sábio. Corrija um tolo e o fará teu inimigo!!!

Sem mais


[]s,

Marcio Ferreiraskype: marcio.ferreir4(21) 8365-7768



2013/6/13 Daniel de Oliveira Mantovani daniel.oliveira.mantov...@gmail.com


Márcio, a sua tentativa de desdenha e o seu comportamento na lista

depois dos perl mongers terem ajudado você e a sua família mostra que

você não tem educação.



2013/6/13 Marcio Ferreira marciodesouzaferre...@gmail.com:

 OK Mantovani, se seu pai nao te deu educação, nao sou eu a fazer isso.



 Boa sorte!









 []s,



 Marcio Ferreira

 skype: marcio.ferreir4

 (21) 8365-7768





 2013/6/13 Daniel de Oliveira Mantovani daniel.oliveira.mantov...@gmail.com



 Márcio, sua experiência pessoal se limita a ser um simples

 desenvolvedor PHP. Deixe as pessoas sérias interessadas se colocarem.

 Mas não fiquei triste, isso não é uma piada é a sua situação atual.



 2013/6/13 Marcio Ferreira marciodesouzaferre...@gmail.com:

  Mantovani,

 

  não entendi o objetivo do seu e-mail, é captação de projeto?

  Se for isso recomendo vc usar o linkedin!

 

  Pessoal, estou com uma equipe de quatro pessoas boas. Uma delas é a

  pessoa mais inteligente que eu conheço,

 

 

  Detalhe melhor sua equipe, a pessoa mais inteligente que conheço é tão

  arbitrário quanto dizer hoje é o dia mais ensolarado da minha vida.

  Da forma que está escrito soa infantil e sem peso comercial.

  Diga a experiência de cada um, no que sua equipe foco(sem tiver),

  projetos

  que já desenvolveram, etc.

 

 

  eu consigo um preço incrível na hora.

 

 

  Isso é um detalhe sensível, e acredito q varie com o projeto, ou seja,

  parece SPAM ou algo do genero, evite essa abordagem assim tão aberta.

 

 

  O desenvolvimento será em Java e dependendo do problema

  poderá ser usado qualquer outra linguagem.

 

 

  Se o desenvolvimento é em Java, não é interessante enviar numa lista de

  Java?  Linkedin mais uma vez!

 

 

  Se alguém tem algum projeto interessante e quiser fazer um teste me

  manda um e-mail pessoal, daniel.oliveira.mantov...@gmail.com

 

 

  O que é projeto interessante?

 

 

  E encare que o fato de você enviar publicamente, está aberto de ser alvo

  de

  piada, não se preocupe com isso, é uma piada ;-)

 

  ___

  Rio-pm mailing list

  Rio-pm@pm.org

  http://mail.pm.org/mailman/listinfo/rio-pm







 --



 -dom



 --



 IBM - Business Analytics Optimization Consultant

 Daniel Mantovani +5511 8538-9897

 XOXO

 ___

 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







--



-dom



--



IBM - Business Analytics Optimization Consultant

Daniel Mantovani +5511 8538-9897

XOXO

___

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] [OFF] - Mão de Obra Projetos

2013-06-13 Por tôpico Aureliano Guedes
Aleluia, pela divina grassa de Deus eu sou ateu. Amem senhor!
http://www.youtube.com/watch?v=VgCx2bNxveM

 Date: Thu, 13 Jun 2013 15:16:45 -0300
 From: daniel.oliveira.mantov...@gmail.com
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] [OFF] - Mão de Obra Projetos
 
 Márcio, o problema é que você é um tipo de profissional que um
 designer (que não tem foco em programação) olhou a sua lógica e
 começou a bater a cabeça na porta de tão absurda que estava. Seus
 ex-colegas de trabalho são testemunhas.
 
 Você fica repetindo esses provérbios que seu pastor falou na igreja,
 porque você não lê um livro inteiro e aprende alguma coisa ?
 
 2013/6/13 Marcio Ferreira marciodesouzaferre...@gmail.com:
  E nao houve desdenha, pelo contrário.
  Como diz o ditado: Corrija um sábio e o fará mais sábio. Corrija um tolo e
  o fará teu inimigo!!!
  Sem mais
 
 
  []s,
 
  Marcio Ferreira
  skype: marcio.ferreir4
  (21) 8365-7768
 
 
  2013/6/13 Daniel de Oliveira Mantovani daniel.oliveira.mantov...@gmail.com
 
  Márcio, a sua tentativa de desdenha e o seu comportamento na lista
  depois dos perl mongers terem ajudado você e a sua família mostra que
  você não tem educação.
 
  2013/6/13 Marcio Ferreira marciodesouzaferre...@gmail.com:
   OK Mantovani, se seu pai nao te deu educação, nao sou eu a fazer isso.
  
   Boa sorte!
  
  
  
  
   []s,
  
   Marcio Ferreira
   skype: marcio.ferreir4
   (21) 8365-7768
  
  
   2013/6/13 Daniel de Oliveira Mantovani
   daniel.oliveira.mantov...@gmail.com
  
   Márcio, sua experiência pessoal se limita a ser um simples
   desenvolvedor PHP. Deixe as pessoas sérias interessadas se colocarem.
   Mas não fiquei triste, isso não é uma piada é a sua situação atual.
  
   2013/6/13 Marcio Ferreira marciodesouzaferre...@gmail.com:
Mantovani,
   
não entendi o objetivo do seu e-mail, é captação de projeto?
Se for isso recomendo vc usar o linkedin!
   
Pessoal, estou com uma equipe de quatro pessoas boas. Uma delas é a
pessoa mais inteligente que eu conheço,
   
   
Detalhe melhor sua equipe, a pessoa mais inteligente que conheço é
tão
arbitrário quanto dizer hoje é o dia mais ensolarado da minha vida.
Da forma que está escrito soa infantil e sem peso comercial.
Diga a experiência de cada um, no que sua equipe foco(sem tiver),
projetos
que já desenvolveram, etc.
   
   
eu consigo um preço incrível na hora.
   
   
Isso é um detalhe sensível, e acredito q varie com o projeto, ou
seja,
parece SPAM ou algo do genero, evite essa abordagem assim tão aberta.
   
   
O desenvolvimento será em Java e dependendo do problema
poderá ser usado qualquer outra linguagem.
   
   
Se o desenvolvimento é em Java, não é interessante enviar numa lista
de
Java?  Linkedin mais uma vez!
   
   
Se alguém tem algum projeto interessante e quiser fazer um teste me
manda um e-mail pessoal, daniel.oliveira.mantov...@gmail.com
   
   
O que é projeto interessante?
   
   
E encare que o fato de você enviar publicamente, está aberto de ser
alvo
de
piada, não se preocupe com isso, é uma piada ;-)
   
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm
  
  
  
   --
  
   -dom
  
   --
  
   IBM - Business Analytics Optimization Consultant
   Daniel Mantovani +5511 8538-9897
   XOXO
   ___
   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
 
 
 
  --
 
  -dom
 
  --
 
  IBM - Business Analytics Optimization Consultant
  Daniel Mantovani +5511 8538-9897
  XOXO
  ___
  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
 
 
 
 -- 
 
 -dom
 
 --
 
 IBM - Business Analytics Optimization Consultant
 Daniel Mantovani +5511 8538-9897
 XOXO
 ___
 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] Tutorada Hacker

2013-05-06 Por tôpico Aureliano Guedes
Muito bom mesmo, seria um aplicativo interessante para se ter em smartphone, 
mas infelizmente não conheço nada sobre perl rodar em android ou iOS.

From: n...@fastmail.fm
To: rio-pm@pm.org
Date: Sun, 5 May 2013 22:08:26 -0300
Subject: Re: [Rio-pm] Tutorada Hacker






Muito legal a iniciativa! Parabéns! :)

 
On Sun, May 5, 2013, at 12:42 PM, Marcio Ferreira wrote:

Perlssoas, ontem fui tutor num evento aberto, o rodAda 
Hackerhttps://github.com/marcioferreira/rodAdaHacker

 
O resultado foi bacana, em menos de 4 horas, eu e as meninas da ECO UFRJ que 
não conheciam nada de perl, programamos um scraper que baixa noticias da 
g1.globo, analisa o conteúdo e um gráfico(por ferramenta online).

 
A responsável pelo projeto de MediaLab da ECO, gostou do projeto que e quer dar 
continuidade, atualmente estão com um projeto de analisar o marco civil da 
internet, se alguém se interessar vamos conversando.

 
 
[]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

 
--

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-04 Por tôpico Aureliano Guedes

fato ponto.de.exclamação

a bosta do shift do meu teclado não funciona.

From: leonardo.bal...@gmail.com
Date: Sun, 3 Mar 2013 23:41:29 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm] use 5.016 ou use strict/warnings

Se extrairem as mega respostas do Garu na lista da pra escrever um livro e 
ganhar uma graninha.




Em 3 de março de 2013 07:53, Ole Peter Smith ole@gmail.com escreveu:


o 'nosso' breno servindo o gabarito
garu++!
0le
Send via Android
On Mar 3, 2013 2:16 AM, breno br...@rio.pm.org wrote:



 Mete um common::sense na bagaça toda e seja feliz!

 use perl5i;

 strict/warnings mas pela simples força do hábito.



perl5i, common::sense, Toolkit, strictures, Real::Handy,

Modern::Perl... todo mundo cedo ou tarde percebe um padrão no seu

código Perl, um conjunto de módulos e pragmata que sempre gosta de

usar em seus projetos. Perl é uma linguagem moldada no formato

TIMTOWTDI, então parece injusto com os desenvolvedores que um ou outro

conjunto de módulos seja ativado por padrão em qualquer código Perl.

Agora, uma vez que você encontrou o *seu* estilo, imagine ter que

escrever isso tudo no cabeçalho de cada novo arquivo:



---8---

use 5.16.0;

use warnings;

no indirect;

no autovivification;

use true;

use autodie qw(:all);

use autobox;

use utf8;

use File::stat;

use Time::Piece;

use Try::Tiny;

use Carp qw(croak);

...

---8---



Complicado, né? Por isso muitos autores acabam criando suas coletâneas

e distribuindo no CPAN, como as citadas lá no começo. No entanto, isso

também não é de graça: usuários do seu módulo agora tem que baixar uma

nova dependência apenas porque você teve preguiça de escrever use

$modulo; e você AINDA tem que escrever use COLETANEA no inicio de

cada novo arquivo que criar.



Independente da coletânea utilizada, o problema não foi resolvido,

apenas contornado. Mas nada temam, há uma alternativa:



App::MyPerl

==



Ao instalar o App::MyPerl, você ganha dois programas na linha de

comando: myperl e myprove. A partir daí, basta editar o arquivo

.myperl/modules dentro da raiz do seu projeto e adicionar a lista de

módulos e pragmata que você quer. Por exemplo:



---8---

v5.16

warnings

autodie=:all

---8---



Ao rodar seu programa com myperl, todos os módulos desse arquivo já

estarão carregados! O mesmo acontece para qualquer biblioteca dentro

de lib e t/lib, o que torna tudo muito mais fácil para o seu

desenvolvimento dentro de diretórios de projetos (como os criados pelo

Module::Starter, shipit ou Dist::Zilla). Tudo isso sem source filters

e sem que os erros e avisos sejam colocados em linhas diferentes (como

o que acontece quando linhas são adicionadas sem modificar o arquivo

original). Para rodar seus testes, é só usar o myprove em vez do

prove.



Os mais safos podem estar pensando: ok, mas qual a vantagem disso em

relação a simplesmente fazer alias myperl='perl -Mv5.16 -M...'? Não é

tão difícil assim. Tem razão, não é. Mas o myperl tem duas grandes

vantagens.



A primeira é que o diretório .myperl é criado por projeto. Assim

você pode definir diferentes conjuntos de pragmata dependendo do tipo

de projeto que está criando, por exemplo se é um projeto pessoal

pequeno, um trabalho profissional ou um com determinadas restrições de

ambiente.



A segunda vantagem do myperl é que, com ele, você não só tem o perl

com as configurações padrão que bem entender, mas garante que essas

mesmas configurações serão passadas para todos os usuários do seu

módulo automaticamente, sem a inclusão de novas dependências! Como? É

só adicionar a seguinte função ao seu Makefile.PL:



sub MY::postamble {

   qq{distdir: myperl_rewrite\nmyperl_rewrite:

create_distdir\n\tmyperl-rewrite \$(DISTVNAME)}

}



Pronto. Agora, quando for fazer o build para o CPAN, o myperl vai

adicionar as linhas pertinentes no código dentro da sua distribuição

durante o 'make dist' \o/



Enfim, o App::MyPerl é mais uma solução para facilitar a vida de quem

quer módulos e pragmas específicos para seus projetos, só que sem ter

que carregar mais uma dependência ou adicionar uma linha de código

sequer durante o desenvolvimento do seu programa. Adicione alguns

atalhos ao seu gerador de módulos favorito (module-starter, dzil,

shipit, entre outros) e você terá algo bem bacana na sua caixa de

ferramentas!



Disclaimer: ainda há algumas pontas soltas, o projeto acabou de nascer

e não está particularmente maduro - eu mesmo já mandei alguns pull

requests pro Matt - mas vale a pena ficar de olho!





[]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] Percorrendo array

2013-01-12 Por tôpico Aureliano Guedes

Era sim, mas resolvi tomar outro metodo.

sub array_find_position{
my $gi = shift;
my $position = 0;
LINE: foreach (@data){
if ($_ eq $gi){
last LINE;
  }
else{
$position++;
}
}
return $position;
} 

 From: bla...@gmail.com
 Date: Sat, 12 Jan 2013 18:20:16 -0200
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Percorrendo array
 
 perl -E '@array=(1..10); for(my $i = 0; $i  10; $i++){ if($array[$i]
 == 2){ $i = 5} if($array[$i] == 7) {$i = 10} say $array[$i]}'
 
 Tipo isso?
 
 2013/1/12 Tiago Peczenyj tiago.pecze...@gmail.com:
  nao use foreach. use for ou while p indice e altere-o qdo quiser p avancar
  ou voltar
 
  Em 12/01/2013 15:53, Aureliano Guedes guedes_1...@hotmail.com escreveu:
 
  Ola Monges,
 
  Me surgiu uma duvida nesse momento.
 
  Imagine que temos um array de 10 posições:
  my @a = qw(0 1 2 3 4 5 6 7 8 9);
 
  Então este array esta em um loop, no caso um foreach:
 
  foreach my $i (@a){
  ...
  }
 
  Mas eu quero que se o valor dessa posição seja 6, por exemplo, o array
  volte para segunda posição.
 
  Não sei se minha pergunta ficou estranha ou difícil de entender, mas como
  eu faria isso??
 
  ___
  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] Padrões de Código seguro

2013-01-11 Por tôpico Aureliano Guedes

Bom material, depois com calma estudarei.

From: shono...@gmail.com
Date: Fri, 11 Jan 2013 10:26:46 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Padrões de Código seguro

perldoc -f sprintf 
%nspecial: *stores* the number of characters output so far into the next 
variable in the parameter list
Agora, o que isto significa, não tenho idéia :D !!!



Em 11 de janeiro de 2013 10:22, Tiago Peczenyj tiago.pecze...@gmail.com 
escreveu:


Divertido
alguem pode  me explicar o %n ?
https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings





2013/1/11  thiagogla...@ticursos.net




Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de 
segurança para a área de TI.

Achei bem interessante, pois eles têm recomendações para C, C++, Java e Perl.



www.securecoding.cert.org



Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam pitacos.



regards.

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
o animal satisfeito dorme. - Guimarães Rosa


___
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] BrainFuck Interprer

2013-01-11 Por tôpico Aureliano Guedes

Mudanças feitas.

Mas vejam. Eu tinha tirado o given, mas coloquei de volta.

O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto 
enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma 
quebra de linha.

Date: Fri, 11 Jan 2013 11:16:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] BrainFuck Interprer

não deveria ter um given em algum lugar do código para você utilizar o when 
?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:





Ola mongens,

Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em 
Perl.

Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS


Um script brainfuck para testarem, ele converte letras munusculas para 
maiusculas: http://pastebin.com/kzMMpUsA

Deve ser executado assim: perl mybf.pl bf.b


Mas estou com problemas. Toda vez que executo me retorna :  Can't use when() 
outside a topicalizer at mybf.pl line 36,  line 1.

Alguem sabe o que esta acontecendo, e pode me ajudar.


Desde já, grato.

Att
  

___

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] BrainFuck Interprer

2013-01-11 Por tôpico Aureliano Guedes

Mas geralmente a indicação pra parar é um enter.

my $a = ;
print $a;

So de dar enter o script continua.

Como deveria ser esta indicação no caso então??

Date: Fri, 11 Jan 2013 11:33:05 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] BrainFuck Interprer

bom, ... com o given o seu script executa, mas não termina.

sem o given ele não executa ...

escolha a melhor opção e continua desenvolvendo =)

abs.

Em 11 de janeiro de 2013 11:27, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:





Mudanças feitas.

Mas vejam. Eu tinha tirado o given, mas coloquei de volta.

O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto 
enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma 
quebra de linha.


Date: Fri, 11 Jan 2013 11:16:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org

Subject: Re: [Rio-pm] BrainFuck Interprer

não deveria ter um given em algum lugar do código para você utilizar o when 
?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:






Ola mongens,

Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em 
Perl.

Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS



Um script brainfuck para testarem, ele converte letras munusculas para 
maiusculas: http://pastebin.com/kzMMpUsA

Deve ser executado assim: perl mybf.pl bf.b



Mas estou com problemas. Toda vez que executo me retorna :  Can't use when() 
outside a topicalizer at mybf.pl line 36,  line 1.

Alguem sabe o que esta acontecendo, e pode me ajudar.



Desde já, grato.

Att
  

___

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] BrainFuck Interprer

2013-01-11 Por tôpico Aureliano Guedes

Ok, agora um mudei outras coisas tambem, a principio tah td ok.
http://pastebin.com/w78GfPEv

Agora testei com um Hello World : 
++[+-]++.+.+++..+++.++.+++..+++.--..+..

Mas ficou meio locão.

Date: Fri, 11 Jan 2013 11:47:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] BrainFuck Interprer

Aureliano,

seu código está bem confuso mesmo.

você está realizando o foreach

foreach my $i (split (//, $data))

e logo após o inicio do foreach você faz


$i = substr($data,$s,2); 

você sabe explicar pq ?

Outra dica: declare sua sub getchar no final do arquivo para deixar o código 
mais legível.


Dica adiantada:

antes de você trocar a sub e falar que o script parou de funcionar, na linha em 
que você realiza a chamada da sub getchar, coloque os () na função.
ex.: getchar();


talvez isso ajude você a consertar o script,

abs.

Em 11 de janeiro de 2013 11:33, Vinícius Miasato viniciusmias...@gmail.com 
escreveu:

bom, ... com o given o seu script executa, mas não termina.

sem o given ele não executa ...

escolha a melhor opção e continua desenvolvendo =)


abs.

Em 11 de janeiro de 2013 11:27, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:






Mudanças feitas.

Mas vejam. Eu tinha tirado o given, mas coloquei de volta.

O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto 
enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma 
quebra de linha.



Date: Fri, 11 Jan 2013 11:16:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org


Subject: Re: [Rio-pm] BrainFuck Interprer

não deveria ter um given em algum lugar do código para você utilizar o when 
?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes guedes_1...@hotmail.com 
escreveu:







Ola mongens,

Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em 
Perl.

Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS




Um script brainfuck para testarem, ele converte letras munusculas para 
maiusculas: http://pastebin.com/kzMMpUsA

Deve ser executado assim: perl mybf.pl bf.b




Mas estou com problemas. Toda vez que executo me retorna :  Can't use when() 
outside a topicalizer at mybf.pl line 36,  line 1.

Alguem sabe o que esta acontecendo, e pode me ajudar.




Desde já, grato.

Att
  

___

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] fazer string ficar undef

2013-01-08 Por tôpico Aureliano Guedes

Ola monges,

Quanto tempo, ne?! A paz reinava aqui sem minha ignorância. hahaha

Desejando de cara um ótimo ano a todos venho trazer mais uma simples dúvida.

Eu tenho o seguinte:

chomp (my $b = );
$b = undef if $b eq '';
my $c = 'c';
my $a = defined($b) ? $b : $c;
print $a, \n;


Funciona perfeitamente, mas o que não entendo é porque se eu remover a segunda 
linha ($b = undef if $b eq '';). 
Ja não funciona.

Se eu inserir algum valor em $b $a devera assumir o valor de $b, mas se não 
inserir devera assumir o valor de $c.

Se eu fizer apenas:
chomp (my $b = );
my $c = 'c';
my $a = defined($b) ? $b : $c;
print $a, \n;

Não da certo.


Sim, eu sei que as formas abaixo funcionam, mas é apenas uma questão de estudo 
mesmo.

chomp (my $b = );
my $c = 'c';
my $a = $b ? $b : $c;
print $a, \n;


chomp (my $b = );
my $c = 'c';
my $a = $b || $c;
print $a, \n;

daria certo, mas minha intenção é estudo apenas
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] fazer string ficar undef

2013-01-08 Por tôpico Aureliano Guedes

Valeu gente, agora entendi.

Mas então a única forma de tornar uma string undef quando não há nada no STDIN 
é fazendo: $b = undef if $b eq ''; 

Ou tem outra forma??

my $b =  || undef; não funcionaria, certo??

 Date: Tue, 8 Jan 2013 14:30:11 -0200
 From: jimmy@gmail.com
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] fazer string ficar undef
 
 Saudações Aureliano,
 
 On Tue, Jan 08, 2013 at 03:43:10PM +, Aureliano Guedes wrote:
 [...]
  Eu tenho o seguinte:
  
  chomp (my $b = );
  $b = undef if $b eq '';
  my $c = 'c';
  my $a = defined($b) ? $b : $c;
  print $a, \n;
  
  Funciona perfeitamente, mas o que não entendo é porque se eu remover a 
  segunda
  linha ($b = undef if $b eq '';).
  Ja não funciona.
 Assim como o Renato Santos já mencionou, uma string vazia é defined,
 logo, se fizermos:
 
 my $c = 'c'; 
 my $b = ''; 
 my $a = defined $b ? $b : $c; 
 print ''.$a.'';
 
 o resultado será 
 
 Para o problema que você mencionou, o que parece querer testar de fato é
 se há algum valor na string diferente de undef e de vazio:
 
 my $c = 'c'; 
 my $b = ''; 
 my $a = defined $b  $b ne '' ? $b : $c;
 print ''.$a.'';
 
 em outras palavras, qualquer coisa diferente de undef e vazio seriam
 atribuídos a $a.
 
 -- 
 Não manejo bem as palavras
 Mas manipulo bem as strings.
 --
 http://tecnoveneno.blogspot.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

Re: [Rio-pm] fazer string ficar undef

2013-01-08 Por tôpico Aureliano Guedes

Renato, o motivo tambem não sei, mas varia de plataforma a plataforma, pode ser 
CR, LF, e CRLF.

Thiago, é apenas curiosidade.

Mas valeu a todos.

From: renato.c...@gmail.com
Date: Tue, 8 Jan 2013 15:05:10 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] fazer string ficar undef

o  faz a leitura e retorna undef apenas se for o final do arquivo, geralmente 
os arquivos de texto terminam com uma linha só com \n, não sei porque motivo!

2013/1/8 Aureliano Guedes guedes_1...@hotmail.com






Valeu gente, agora entendi.

Mas então a única forma de tornar uma string undef quando não há nada no STDIN 
é fazendo: $b = undef if $b eq ''; 

Ou tem outra forma??

my $b =  || undef; não funcionaria, certo??



 Date: Tue, 8 Jan 2013 14:30:11 -0200
 From: jimmy@gmail.com
 To: rio-pm@pm.org


 Subject: Re: [Rio-pm] fazer string ficar undef
 
 Saudações Aureliano,
 
 On Tue, Jan 08, 2013 at 03:43:10PM +, Aureliano Guedes wrote:
 [...]
  Eu tenho o seguinte:


  
  chomp (my $b = );
  $b = undef if $b eq '';
  my $c = 'c';
  my $a = defined($b) ? $b : $c;
  print $a, \n;
  


  Funciona perfeitamente, mas o que não entendo é porque se eu remover a 
  segunda
  linha ($b = undef if $b eq '';).
  Ja não funciona.
 Assim como o Renato Santos já mencionou, uma string vazia é defined,


 logo, se fizermos:
 
 my $c = 'c'; 
 my $b = ''; 
 my $a = defined $b ? $b : $c; 
 print ''.$a.'';
 
 o resultado será 


 
 Para o problema que você mencionou, o que parece querer testar de fato é
 se há algum valor na string diferente de undef e de vazio:
 
 my $c = 'c'; 
 my $b = ''; 


 my $a = defined $b  $b ne '' ? $b : $c;
 print ''.$a.'';
 
 em outras palavras, qualquer coisa diferente de undef e vazio seriam
 atribuídos a $a.


 
 -- 
 Não manejo bem as palavras
 Mas manipulo bem as strings.
 --
 http://tecnoveneno.blogspot.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


-- 
Saravá,

Renato CRONhttp://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] PerlBrew mudanças no sistema

2012-12-17 Por tôpico Aureliano Guedes

Ola, monges.

Estou usando o Perlbrew no ubuntu 12.04, atualmente a minha versão é a 5.14.2.

Sei que com PerlBrew posso instalar n versões do Perl, mas a minha dúvida é:
Se eu instalar a ultima versão do perl, posso desistalar todas as outras 
anteriores, posso manter a mais recente como default sem prejudicar o sistema?

E outra dúvida é:
Tem algum metodo para manter todos os módulos que ja tenho instalados?

Desde já grato.

Att,
Aureliano Guedes.
  ___
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 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 guedes_1...@hotmail.com






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 guedes_1...@hotmail.com








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?






$p++ if ($i eq '');





$p-- if ($i eq '');






2012/12/11 Aureliano Guedes guedes_1...@hotmail.com










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 :DBTW, 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 guedes_1...@hotmail.com












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 CRONhttp://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 CRONhttp://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] [Passatempo] Interpretador para BrainFuck

2012-12-11 Por tôpico 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

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

2012-12-11 Por tôpico 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 :DBTW, isso me lembrou de um dialeto do brainfuck, o 
trollscript: https://github.com/caius/trollscriptIsso é um hello world em 
trollscript:

Trooloolooloolooloolooloolooloolollolooloolooloolooloololoolooloolooloolooloolooloololooloololoooloolooloololloololoololooolooloolooloolooloololoolooolooloololooloololloololooloolooloolooloolooloolooloolooloolooloolololooolooloololooollollollollollolllooollollollollollollollollloolololooll

É sério.
ABS()




2012/12/11 Aureliano Guedes guedes_1...@hotmail.com






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

Re: [Rio-pm] Isso não deveria estar certo???

2012-12-08 Por tôpico Aureliano Guedes

Breno++, eu precisei mover esse e-mail para pasta importantes assim como fiz 
com aquele ultimo que me ajudou. 
Dicas assim não se pode deixar perder.

Lerei sim os links que me passou. E sim, a duvida foi respondida. E não recebei 
como bronca, nem fiquei chateado ou algo do tipo.

Não sei o que dizer alem de: Obrigado.

 Date: Sat, 8 Dec 2012 03:40:15 -0200
 From: br...@rio.pm.org
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Isso não deveria estar certo???
 
 Oi Aureliano,
 
 cara, antes de tudo, parabéns. O exemplo que vc colou no email mostra
 que vc está prestando atenção no que é dito aqui na lista. Seus
 códigos estão agora com strict (faltou só o 'warnings', hein?), usando
 autodie, open com 3 argumentos, muito bom mesmo! Agora, pra ficar
 perfeito, falta só uma coisa: por favor, antes de mandar dúvidas,
 lembre que as pessoas daqui da lista não estão sentadas aí do seu lado
 olhando o seu problema, nem vivendo o seu dia-a-dia para saber os
 motivos e objetivos do código, tampouco possuem (eu pelo menos não
 possuo) poder de ler mente :-)
 
 Por exemplo, quando vc pergunta algo do tipo:
 
  Monges, cade o erro???
 
 Fica faltando o clássico grupo: o que vc está tentando fazer, de modo
 geral? No código específico, o que deveria estar acontecendo mas não
 está? Ainda no código específico, o que está de fato acontecendo em
 vez do que deveria?
 
 Quando, mesmo depois do Junior Moraes matar a charada, vc continua com:
 
  Mas me diz uma coisa, como editar um arquivo.
 
 A gente tem que se esforçar até pra saber que é uma pergunta, mais
 ainda qual é a real pergunta por trás da pergunta. Como editar um
 arquivo é quase tão vago quanto Preciso saber o que estou errando
 aqui (retirado de outra thread que vc começou). Percebe o padrão?
 
 Isso não é uma bronca. Mas, pensa comigo: se der a impressão que vc
 não está se esforçando nem pra fazer a pergunta, pq alguém se
 esforçaria pra te dar a resposta? A atividade na lista é voluntária e
 não remunerada, feita por pessoas com um interesse em comum (Perl) e
 que se dispõem a ajudar umas às outras em seu tempo livre. Por isso
 mesmo, se vc quer respostas melhores e mais rápidas, precisa nos
 ajudar a te ajudar! Por exemplo, experimente ler suas perguntas em voz
 alta antes de enviar o email, e veja se elas deixam realmente claro o
 que você está perguntando. Existe um texto muito bom sobre isso
 chamado Como fazer perguntas inteligentes mas também é grande e tem
 muitas coisas lugar-comum que você certamente já sabe. Se me permite a
 sugestão, vá direto nessas aqui, que são onde (eu pelo menos) sinto
 mais dificuldade:
 
 http://www.istf.com.br/perguntas/#writewell
 http://www.istf.com.br/perguntas/#beprecise
 http://www.istf.com.br/perguntas/#symptoms
 http://www.istf.com.br/perguntas/#goal
 http://www.istf.com.br/perguntas/#examples
 
 Não estou falando isso pra vc ficar chateado, pelo contrário! Estou só
 tentando te ajudar a nos ajudar, e assim tirar maior proveito das
 listas e melhorar cada vez mais. Os parágrafos acima são uma leitura
 super rápida, pense como um investimento: vc vai gastar menos de 5
 minutos pra ler (e está traduzido em português!) e se prestar atenção
 nesses pontos, tenho certeza que daqui pra frente você vai conseguir
 respostas muito mais rapidamente nessa e em qualquer outra lista!
 
 Dito isso, deixa eu tentar te ajudar. Eu *acho*, depois de perder um
 bom tempo olhando pro seu exemplo, que a sua pergunta é:
 
 Pessoal, como eu faço pra abrir o mesmo arquivo tanto para leitura
 quanto para escrita?
 
 ou
 
 Pessoal, como eu faço para ler e escrever no mesmo arquivo, ao mesmo tempo?
 
 
 Se for isso mesmo, é uma pergunta super comum. E, como a maioria das
 coisas em Perl, há mais de uma maneira de se fazer :)
 
 Digamos, para efeito de exemplo, que você queira passar o nome de um
 arquivo como parâmetro para o seu programa. O arquivo tem o formato:
 
 --8---
 blablabla
 ACTGAACAGTAGCTACTGACTCGTACGCTCGTAGC
 lalalala
 CAGCTGATCGATCGTAGCATGCTACG
 --8---
 
 E o que você quer é transformar esse arquivo em algo como:
 
 --8---
 contig0
 ACTGAACAGTAGCTACTGACTCGTACGCTCGTAGC
 contig1
 CAGCTGATCGATCGTAGCATGCTACG
 --8---
 
 Claro, não só duas linhas e sim centenas, mas acho que deu pra entender.
 
 
 Solução 1 (one-liner)
 
 
 perl -i -pe 'BEGIN { $i = 0 } $i++ if s{^.+$}{contig$i}' arquivo.txt
 
 Essa solução usa perl como ferramenta para transformação de arquivos
 in place. O -pe executa o código entre aspas para cada linha do
 arquivo passado, imprimindo o que estiver em $_ no final do
 processamento de cada linha. O código em si é simples: substitua
 ^.+$ (início de linha seguido de  seguido de qualquer coisa,
 seguido do fim da linha) pela string contig$i, onde $i é um número
 que começa com zero (por isso o BEGIN { $i = 0 }, senão $i começa
 vazio, e a primeira linha vira apenas contig em vez de contig0).
 Sempre que conseguir fazer essa substituição (ou 

Re: [Rio-pm] Isso não deveria estar certo???

2012-12-08 Por tôpico Aureliano Guedes

Breno, so uma duvida, antigamente eu usava muito arquivos temporario, eu deixei 
de usar pois achava que perdia muito em performance.

Você acha que eu perco muito em performance usando a solução 4 no lugar das 
outras soluções?

From: guedes_1...@hotmail.com
To: rio-pm@pm.org
Date: Sat, 8 Dec 2012 10:13:53 +
Subject: Re: [Rio-pm] Isso não deveria estar certo???





Breno++, eu precisei mover esse e-mail para pasta importantes assim como fiz 
com aquele ultimo que me ajudou. 
Dicas assim não se pode deixar perder.

Lerei sim os links que me passou. E sim, a duvida foi respondida. E não recebei 
como bronca, nem fiquei chateado ou algo do tipo.

Não sei o que dizer alem de: Obrigado.

 Date: Sat, 8 Dec 2012 03:40:15 -0200
 From: br...@rio.pm.org
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Isso não deveria estar certo???
 
 Oi Aureliano,
 
 cara, antes de tudo, parabéns. O exemplo que vc colou no email mostra
 que vc está prestando atenção no que é dito aqui na lista. Seus
 códigos estão agora com strict (faltou só o 'warnings', hein?), usando
 autodie, open com 3 argumentos, muito bom mesmo! Agora, pra ficar
 perfeito, falta só uma coisa: por favor, antes de mandar dúvidas,
 lembre que as pessoas daqui da lista não estão sentadas aí do seu lado
 olhando o seu problema, nem vivendo o seu dia-a-dia para saber os
 motivos e objetivos do código, tampouco possuem (eu pelo menos não
 possuo) poder de ler mente :-)
 
 Por exemplo, quando vc pergunta algo do tipo:
 
  Monges, cade o erro???
 
 Fica faltando o clássico grupo: o que vc está tentando fazer, de modo
 geral? No código específico, o que deveria estar acontecendo mas não
 está? Ainda no código específico, o que está de fato acontecendo em
 vez do que deveria?
 
 Quando, mesmo depois do Junior Moraes matar a charada, vc continua com:
 
  Mas me diz uma coisa, como editar um arquivo.
 
 A gente tem que se esforçar até pra saber que é uma pergunta, mais
 ainda qual é a real pergunta por trás da pergunta. Como editar um
 arquivo é quase tão vago quanto Preciso saber o que estou errando
 aqui (retirado de outra thread que vc começou). Percebe o padrão?
 
 Isso não é uma bronca. Mas, pensa comigo: se der a impressão que vc
 não está se esforçando nem pra fazer a pergunta, pq alguém se
 esforçaria pra te dar a resposta? A atividade na lista é voluntária e
 não remunerada, feita por pessoas com um interesse em comum (Perl) e
 que se dispõem a ajudar umas às outras em seu tempo livre. Por isso
 mesmo, se vc quer respostas melhores e mais rápidas, precisa nos
 ajudar a te ajudar! Por exemplo, experimente ler suas perguntas em voz
 alta antes de enviar o email, e veja se elas deixam realmente claro o
 que você está perguntando. Existe um texto muito bom sobre isso
 chamado Como fazer perguntas inteligentes mas também é grande e tem
 muitas coisas lugar-comum que você certamente já sabe. Se me permite a
 sugestão, vá direto nessas aqui, que são onde (eu pelo menos) sinto
 mais dificuldade:
 
 http://www.istf.com.br/perguntas/#writewell
 http://www.istf.com.br/perguntas/#beprecise
 http://www.istf.com.br/perguntas/#symptoms
 http://www.istf.com.br/perguntas/#goal
 http://www.istf.com.br/perguntas/#examples
 
 Não estou falando isso pra vc ficar chateado, pelo contrário! Estou só
 tentando te ajudar a nos ajudar, e assim tirar maior proveito das
 listas e melhorar cada vez mais. Os parágrafos acima são uma leitura
 super rápida, pense como um investimento: vc vai gastar menos de 5
 minutos pra ler (e está traduzido em português!) e se prestar atenção
 nesses pontos, tenho certeza que daqui pra frente você vai conseguir
 respostas muito mais rapidamente nessa e em qualquer outra lista!
 
 Dito isso, deixa eu tentar te ajudar. Eu *acho*, depois de perder um
 bom tempo olhando pro seu exemplo, que a sua pergunta é:
 
 Pessoal, como eu faço pra abrir o mesmo arquivo tanto para leitura
 quanto para escrita?
 
 ou
 
 Pessoal, como eu faço para ler e escrever no mesmo arquivo, ao mesmo tempo?
 
 
 Se for isso mesmo, é uma pergunta super comum. E, como a maioria das
 coisas em Perl, há mais de uma maneira de se fazer :)
 
 Digamos, para efeito de exemplo, que você queira passar o nome de um
 arquivo como parâmetro para o seu programa. O arquivo tem o formato:
 
 --8---
 blablabla
 ACTGAACAGTAGCTACTGACTCGTACGCTCGTAGC
 lalalala
 CAGCTGATCGATCGTAGCATGCTACG
 --8---
 
 E o que você quer é transformar esse arquivo em algo como:
 
 --8---
 contig0
 ACTGAACAGTAGCTACTGACTCGTACGCTCGTAGC
 contig1
 CAGCTGATCGATCGTAGCATGCTACG
 --8---
 
 Claro, não só duas linhas e sim centenas, mas acho que deu pra entender.
 
 
 Solução 1 (one-liner)
 
 
 perl -i -pe 'BEGIN { $i = 0 } $i++ if s{^.+$}{contig$i}' arquivo.txt
 
 Essa solução usa perl como ferramenta para transformação de arquivos
 in place. O -pe executa o código entre aspas para cada linha do
 arquivo passado, imprimindo o que estiver em $_ no final do
 

[Rio-pm] Isso não deveria estar certo???

2012-12-07 Por tôpico Aureliano Guedes

Monges, cade o erro???

#!/usr/bin/env perl

use strict;
use autodie;

open my $in, , $ARGV[0];
my $contig = 0;
while (my $line = $in){
my $ctg = contig . $contig;
#print $line;
if ($line =~ /(.+)/){
print Ok\n;
$line = s/$1/$ctg/;
print $line;
$contig++;
}
}

O arquivo é algo como
blablabla
ACTGAACAGTAGCTACTGACTCGTACGCTCGTAGC
lalalala
CAGCTGATCGATCGTAGCATGCTACG
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Isso não deveria estar certo???

2012-12-07 Por tôpico Aureliano Guedes

Ok, erro idiota no qual fiquei 1h quebrando a cabeça.
Ok!

Mas me diz uma coisa, como editar um arquivo.

Tipo queria que:

open my $in, , $ARGV[0];
my $contig = 0;
while (my $line = $in){
my $chn = contig . $contig;
if ($line =~ /(.+)/){
$line =~ s/$1/$chn/;
$contig++;
}
}

Funcionasse sem precisar fazer:

open my $in, , $ARGV[0];
my $contig = 0;
my $record = ;
while (my $line = $in){
my $chn = contig . $contig;
if ($line =~ /(.+)/){
$line =~ s/$1/$chn/;
$record .= $line;
$contig++;
}
else {
$record .= $line;
}
}
open my $out, , $ARGV[0];
print $out $record;

From: juniiior...@gmail.com
Date: Fri, 7 Dec 2012 22:25:19 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   Isso não deveria estar certo???

Hi.
Não, ué.A regexp começa com  e no arquivo tem lalalala.


[]'s

2012/12/7 Aureliano Guedes guedes_1...@hotmail.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

Re: [Rio-pm] Chaves de hash

2012-12-04 Por tôpico Aureliano Guedes

Ok, segundo o perldoc:
Binary and returns the logical conjunction of the two surrounding
expressions.  It's equivalent to  except for the very low
precedence.  This means that it short-circuits: the right
expression is evaluated only if the left expression is true.

Acho que não é nada impactante a diferença de usar  ou and em dias normais, 
mas quando trabalhar bit-a-bit acho que o  é mais apropiado 

Date: Tue, 4 Dec 2012 15:23:04 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash

last;

Em 4 de dezembro de 2012 14:54, Blabos de Blebe bla...@gmail.com escreveu:

 (my $d = $a) and $b;



Correto, conforme

http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity



A pegadinha (deixada como exercício) é que o operador de atribuição

tem maior precedência que o operador 'and'.



Por isso os exemplos usando atribuição estão se cagando todos:



$c = $a  $b



é diferente de



$c = $a and $b



não por causa da diferença mística entre '' e 'and', mas por causa

do operador de atribuição ter mais precedência que 'and' e menos

precedência que o '';



$c = $a  $b  == $c = ( $a  $b )

$c = $a and $b == ($c = $a) and $b



RTFM!



[]'s



2012/12/4 Junior Moraes juniiior...@gmail.com:

 Hi.



 A diferença entre  e and não é apenas a questão da precedência dos

 operadores?

 Penso eu que essa questão não tenha nada a ver com short-circuiting, já que

 logicamente falando ambas fazem a mesma operação.



 Exemplificando, quando temos:

 use Data::Printer;

 my $a = 1;

 my $b = 0;



 my $c = $a  $b;

 my $d = $a and $b;

 p $c;

 p $d;



 O valor de $c seria FALSE, mas o valor de $d seria TRUE.

 Isso, porque, pela precedência dos operadores, a última operação é a mesma

 coisa que:

 (my $d = $a) and $b;



 Deste modo, $d sempre resultará em TRUE, ignorando o $b.



 Isto é, pelo menos é assim em outras linguagens e pelo que me parece, no

 Perl também.



 []'s



 Em 4 de dezembro de 2012 14:00, Blabos de Blebe bla...@gmail.com escreveu:



 Desculpa,



 Não entendi a diferença entre:



 perl -E 'sub a{say 1} sub b{say 2} if (a()  b()){}'

 perl -E 'sub a{say 1} sub b{say 2} if (a() and b()){}'



 perl -E 'sub a{say 1;return 0} sub b{say 2} if (a()  b()){}'

 perl -E 'sub a{say 1;return 0} sub b{say 2} if (a() and b()){}'



 Até onde eu sei, não existe operador de short circuit. O short circuit

 é uma propriedade, uma otimização na avaliação de expressões lógicas.



 Alguém estamos viajando?



 []'s



 2012/11/30  thiagogla...@ticursos.net:

  Eu devo ser muito estúpido... mas alguém que está falando isso (ja é

  o 3o), poderia fazer o favor de me explicar porque ele deve usar  no

  lugar do 'and' e qual diferença isso faz no caso deste if específico?

  E em quais situações deve-se usar o 'and' no lugar de ?

 

 

  Não é estúpido não. Vamos analisar a tabela da verdade da função and ou

  :

 

  0 x 0 = 0

  0 x 1 = 0

  1 x 0 = 0

  1 x 1 = 1

 

  Então, no if do código do nosso biólogo não haveria impacto real, sorry

  eu

  me deixei levar por outras coisas que estava pensando aqui.

 

  Mas voltando ao if:

 

  if($keys = $min and $keys = $max)

 

  O operador de short circuit só avaliaria a expresssão da direita ($keys

  =

  $max) se a primeira expressão for verdadeira. Ou seja, se $keys for

  menor

  que $min o Perl nem vai perder tempo checando pois 0 x N = 0. Então aqui

  eu

  me enganei, não ia fazer diferença no código do nosso colega.

 

  Por outro lado, vamos supor um caso que você queira aproveitar o teste

  if e

  executar duas subs na mesma linha de código:

 

  if ( foo and bar ){

 ...faça alguma coisa

  }

  else {

 ... bar só será executada se foo retornar true

  }

 

  por outro lado:

 

  if ( foo  bar ){

 ...foo e bar foram executadas. faça alguma coisa

  }

  else {

 ... foo e bar foram executadas mesmo com o  retornando false.

  }

 

  essa é a diferença.

 

  Em 2012-11-29 22:09, Bruno Buss escreveu:

 

  2012/11/29 thiagogla...@ticursos.net

 

  Seu primeiro erro é o operador and. No documento perlop: $ perldoc

  perlop

  você vai descobrir o seguinte:

 

Logical And

   Binary and returns the logical conjunction of the two

   surrounding expressions.  It's equivalent to  except for

   the very low precedence.  This means that it short-circuits:

   i.e., the right expression is evaluated only if the left

   expression is true.

  [...]

C-style Logical And

   Binary  performs a short-circuit logical AND operation.

   That is, if the left operand is false, the right operand is

   not even evaluated.  Scalar or list context propagates down

   to the right operand if it is evaluated.

 

  Logo, seu código

 

  if($keys = $min and $keys = $max){

 

  deveria ser if($keys = $min  $keys = $max){

 

 

  Eu devo ser muito estúpido... mas alguém que está falando isso (ja é

  o 3o), poderia fazer o favor de 

Re: [Rio-pm] Chaves de hash

2012-12-04 Por tôpico Aureliano Guedes

O exemplo do junio é bacana:

use Data::Printer;
my $a = 1;
my $b = 0;

my $c = $a  $b;
my $d = $a and $b;
p $c;
p $d;

 Date: Tue, 4 Dec 2012 15:50:13 -0200
 From: a.r.ferre...@gmail.com
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Chaves de hash
 
 2012/12/4 Aureliano Guedes guedes_1...@hotmail.com:
  mas quando trabalhar bit-a-bit acho que o  é mais apropiado
 
 Para trabalhar bit-a-bit, os operadores bit-a-bit como o 
 provavelmente seriam mais adequados.
 
 Bitwise And
 http://perldoc.perl.org/perlop.html#Bitwise-And
 
 Bitwise Or and Exclusive Or
 http://perldoc.perl.org/perlop.html#Bitwise-Or-and-Exclusive-Or
 ___
 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-30 Por tôpico Aureliano Guedes

Sua ideia é louvável, mas há um problema.

No Arquivo que eu postei, eu compilei de a rotina de um modulo dentro do 
script.
Isso se deve ao fato de eu ter desenvolvido um modulo que parseia todo o 
documento naquele formato
e cria um hash colocando como chave o valor que eu procuro, que pode ser o nome 
do micro-RNA, a energia de ligação,
a posição no gene, ...
Criei esse modulo (que futuramente pretendo adicionar no CPAN ou BioPerl) para 
facilitar minha vida.

Por isso eu já não filtro o intervalo na própria regex.

Quanto ao and e o , o  consome menos memória que o and, por ser short 
circuits??

Date: Fri, 30 Nov 2012 06:22:03 -0200
From: tiago.pecze...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Chaves de hash

Porra o q? To mostrando q eh diferente no contexto q eu conheco...
Em 29/11/2012 23:14, Blabos de Blebe bla...@gmail.com escreveu:

Porra PAC, não pisa fora da faixa, cara! :)



http://perldoc.perl.org/perlop.html#Operator-Precedence-and-Associativity



É só aplicar as regras de precedência.



Parafraseando o perldoc, and é 'equivalent to  except for the very

low precedence'



É óbvio gente. Assim vcs me envergonham!



Game over.



2012/11/29 Tiago Peczenyj tiago.pecze...@gmail.com:

 veja este exemplo:



 https://gist.github.com/4172935



 veja como a execução das subrotinas não é alterada, mas o resultado das

 variaveis é diferente.







 my $x = a and b and c and ok or nok;









 my $y = a  b  c  ok || nok;





 veja que x recebe o valor que a retorna, enquanto y recebe o valor de nok.



 isso pq o = esta em termos de precedencia entre o and e o 









 2012/11/29 Bruno Buss bruno.b...@gmail.com







 2012/11/29 Bruno Buss bruno.b...@gmail.com



 On Thu, Nov 29, 2012 at 10:13 PM, Renato Santos renato.c...@gmail.com

 wrote:



 use  sempre e seja feliz, só use and quando você souber oque está

 fazendo.





 Desculpe mas vou discordar que um bom conselho seja use  sempre e seja

 feliz, ainda mais seguido de só use and quando você souber oque está

 fazendo. Na melhor da hipóteses são sugestões contraditórias... como alguém

 deverá saber quando usar o 'and' se apenas usa o  cegamente?





 o 'and' é praticamente o 'e' da nossa lingua, vc diz pro seu codigo

 'faça isso, e isso', ele não é de comparação, embora faça





 ele não é de comparação, embora faça? Poderia desenvolver melhor, pois

 não fui incapaz de entender o que isso significa para um operador lógico

 (que a única diferença do outro é a baixa precedência).





 s/incapaz/capaz/;









 E vou repetir a pergunta aqui, antes que ela fique soterrada pelas tricks

 de sleep: Qual diferença isso faz no caso deste if específico do Aureliano?

 Por que exatamente, no if dele, utilizar o 'and' está incorreto? Porque no

 if dele, somente o  dá certo como 3 pessoas já disseram?





 --

 Bruno C. Buss

 http://www.brunobuss.net









 --

 Bruno C. Buss

 http://www.brunobuss.net



 ___

 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  
  ___
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 Aureliano Guedes
 floating point.
 
  Directed roundings
 
  Round toward 0 – directed rounding towards zero (also known as
  truncation).
  Round toward +∞ – directed rounding towards positive infinity 
  (also
  known as rounding up or ceiling).
  Round toward −∞ – directed rounding towards negative infinity 
  (also
  known as rounding down or floor).
 
  Se a comparação for inevitável, converta o seu número para string e 
  compare
  ou determine um nível de precisão aceitável e faça bit a bit.
 
  Em 2012-11-28 21:42, Aureliano Guedes escreveu:
 
  Ola Monges.
 
  Estou com um problema simples mas que não acho a solução.
 
  Eu tenho um hash onde as chaves são valores numericos reais (a
  maioria negativo e quase nenhum inteiro).
  Estou limitando esses valores por um maximo e um minimo.
 
   foreach my $keys (keys %d) {
   if ($keys = $min and $keys = $max) {
   print $d{$keys};
   }
   }
 
  Problema que não da certo.
  Ha algo de errado aqui??
 
  ___
  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] Chaves de hash

2012-11-29 Por tôpico Aureliano Guedes

Renato, fiquei sem entender, no meu caso não esta fazendo so um loop? E qual a 
diferença entre usar um hash %h ou tranformar $h em um hash??
Desculpe as perguntas é que não faço nenhum curso ligado a computação logo as 
vezes fico boiando.

Thiago, segue o script caso tenha também algo a modificar/acrescentar a nível 
das minhas péssimas práticas.

use warnings;
use strict;
use Path::Class;

#Guardar os valores em um hash acessado pelo valor do mfe
sub h_energy{
my $data = shift;
my $file = file($data)-openr();
my %hmfe = ();
my $mirna;
my $record;

while (my $linha = $file) {
if ( $linha =~ m{target:.*} ) {
$record = $linha . $record if ($record);
$hmfe{$mirna} = $record if ($mirna);
$mirna = $+{mirna};
$record = q() if ($record);
}
elsif ($linha =~ m{mfe:\s+(\S+)\s+kcal/mol}){
$mirna = $1;
$record .= $linha;
}
 else {
$record .= $linha;
 }
}
return %hmfe;
}


sub termofilter{
my ($data, $min, $max) = @_;
my %d = h_energy($data);
foreach my $keys (keys %d){
if($keys = $min and $keys = $max){
print $keys . \n;
}
}
}
termofilter(hybrid.txt, -30, -20);

 Date: Thu, 29 Nov 2012 17:27:15 -0200
 From: thiagogla...@ticursos.net
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Chaves de hash
 
 Onde estou agora o firewall bloqueia o pastebin. Pela sua explicação, 
 verificar por regex seria uma solução segura. O número sera convertido 
 para um string e, se a sua regex prevê uma margem segura para a 
 imprecisão do ponto flutuante na sua aplicação, funciona sem problemas.
 
 Em 2012-11-29 16:59, Aureliano Guedes escreveu:
  Nossa, aqui virou uma arena de ideias, da para aprender muita coisa 
  so lendo.
 
  O problema é o seguinte, eu tenho uma lista nesse formato:
 
  target: 01010101
  length: 581
  miRNA : hsa-miR-15a
  length: 22
 
  mfe: -24.4 kcal/mol
  p-value: 0.334111
 
  position 244
  target 5' C UCUCCUGUGGUCUCU G U 3'
   CACA GACCA GUGCUGUU
   GUGU UUGGU CACGACGA
  miRNA 3' AAUA U 5'
 
  Conforme este arquivo http://pastebin.com/9v6WFUT7
 
  Eu quero filtrar essa lista de acordo com o valor de mfe.
 
  Exemplo, se mfe for menor que -30 e maior que -20 esta dentro.
 
  Logo fiz da seguinte forma: http://pastebin.com/Dnhv0Zya
 
  Funcionou, o problema era sono. Não percebi que a regex estava
  pegando um espaço.
 
  Quanto a usar reais como chave de hash, se eu tiver dois reais iguais
  poderá ser um problema para acessar os valores,
  mas em toda regra existe sua exceção.
 
  No meu caso, o que me importa é que mfe esteja no intervalo 
  determinado.
 
  Caso descordem seria uma honra ler a explicação de qualquer um de 
  vocês.
 
  Date: Thu, 29 Nov 2012 16:44:50 -0200
  From: thiagogla...@ticursos.net
  To: rio-pm@pm.org
  Subject: Re: [Rio-pm] Chaves de hash
 
  Um exemplo mais preciso:
 
  $ uname -a
  SunOS cg01spo 5.10 Generic_13-03 sun4v sparc
  SUNW,SPARC-Enterprise-T5120
 
  $ perl -E '
  if (0.2  0.19997){
  say 0.2 is greater than 0.19997;}
  else {
  say Floating Point is not true real};'
  0.2 is greater than 0.19997
  $
 
  $ perl -E '
  if (0.2  0.19998){
  say 0.2 is greater than 0.19998;}
  else {
  say Floating Point is not true real};'
  Floating Point is not true real
  $
 
  Por que é importante saber essas coisas?
  http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html
 
 
 
 
 
 
  Em 2012-11-29 15:13, thiagogla...@ticursos.net escreveu:
   Não se compara reais por igualdade.
   Se você tem erro na igualdade, terá nas outras comparações se a
   diferença entre os números for menor que o maior acréscimo 
  suportado
   pela plataforma:
  
   $ perl -E '
   if (0.2  0.1999){
   say 0.2 is greater than 
  0.19;}
   else {
   say Floating Point is not true real};'
   Floating Point is not true real
   $
  
   $ perl -E '
   if (0.2  0.19){
   say 0.2 is greater than 0.19;}
   else {
   say Floating Point is not true real};'
   0.2 is greater than 0.19
   $
  
   Então, comparar pontos flutuantes não é seguro. Nem igualdade, nem
   maio, nem menor.
  
   E mais: garanto que se você quer usar um número real como chave de
   Hash você tem um problema na análise da lógica do problema que 
  está
   enfrentando e como solucioná-lo.
  
  
   Em 2012-11-29 10:36, Blabos de Blebe escreveu:
   Na verdade é o contrário, não?
  
   Não se compara reais por igualdade.
  
   Se você usa reais como chaves de hash, você tem algum problema...
  
   Ao não controlar a representação interna em ponto flutuante, você
   pode
   nunca mais alcançar o valor relacionado à chave, se usar um 
  número
   real como chave, pois qualquer bit diferente, mesmo que 
  arredondando
   no mesmo número vai resultar num cálculo diferente na

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico Aureliano Guedes

So aproveitando a oportunidade.

Estou brincando com brinquedinhos novos.
Mas ainda não entendi uma coisa.

Aqui eu quero escrever na tela so o que for documento, não quero o que for 
diretorio.
Na unha eu sei fazer, eu quero fazer isso usando o modulo Path::Class.

Abaixo não esta dando muito certo.
O que errei??

use Path::Class;

 
my $dir  = dir('Parse');

my $s = $dir-open or die cant open: $!;

my @o = $s-read;

foreach my $p (@o){

if ($p-file){

print $p;

}

}

 Date: Thu, 29 Nov 2012 19:52:45 -0200
 From: thiagogla...@ticursos.net
 To: rio-pm@pm.org
 Subject: Re: [Rio-pm] Chaves de hash
 
 Só para ser chato:
 
  popular um hash inteiro já com os grupos montados,
 
 popular
 adj. 2 g.
 1. Relativo ou pertencente ao povo.
 2. Que é usado ou comum entre o povo.
 3. Que é do agrado do povo.
 4. Vulgar, notório.
 5. Democrático.
 s. m.
 6. Homem do povo.
 
 povoar - Conjugar
 (povo + -oar)
 v. tr.
 1. Fundar povoações em.
 2. Estabelecer habitantes em.
 3. Disseminar animais para reprodução.
 4. Dispor grande quantidade de árvores em.
 5. Dispor grande quantidade de plantas (ex.: povoar o terreno de 
 vinha).
 
 6. [Por extensão]  Encher com determinada coisa (ex.: a notícia 
  povoou a sua vida com alegria).
 
 v. pron.
 7. Encher-se de habitantes.
 
 
 Em 2012-11-29 19:41, Renato Santos escreveu:
  Assim,
  não sei se tem muita diferença na memoria entre um $h e um %s, 
 
  eu costumo usar $h por habito mesmo, mas poderia ser push
  @{$h{$grupo}} sem problemas, talvez até @$h{$grupo} funcione certo
 
  O 'evitar o loop' q eu digo, é você popular um hash inteiro já com os
  grupos montados, por exemplo ,se o grupo for a cada 10 numeros reais,
  voce poderia retornar
  -30:-20 como chave para todos os valores de entrada dessa funcao, e
  popular tudo de uma vez só, no lugar de ler as chaves a cada pergunta
  de intervalo
 
  2012/11/29 Aureliano Guedes guedes_1...@hotmail.com
 
  Renato, fiquei sem entender, no meu caso não esta fazendo so um 
  loop? E qual a diferença entre usar um hash %h ou tranformar $h em um 
  hash??
  Desculpe as perguntas é que não faço nenhum curso ligado a 
  computação logo as vezes fico boiando.
 
  Thiago, segue o script caso tenha também algo a 
  modificar/acrescentar a nível das minhas péssimas práticas.
 
  use warnings;
  use strict;
  use Path::Class;
 
  #Guardar os valores em um hash acessado pelo valor do mfe
  sub h_energy{   
  my $data = shift;
  my $file = file($data)-openr();
  my %hmfe = ();   
  my $mirna;
  my $record;
 
  while (my $linha = $file) {
  if ( $linha =~ m{target:.*} ) {
  $record = $linha . $record if ($record);
  $hmfe{$mirna} = $record if ($mirna);
  $mirna = $+{mirna};
  $record = q() if ($record);
  }
  elsif ($linha =~ m{mfe:s+(S+)s+kcal/mol}){
  $mirna = $1;
  $record .= $linha;
  }
   else {
  $record .= $linha;
   }
  }
  return %hmfe;
  }
 
  sub termofilter{
  my ($data, $min, $max) = @_;
  my %d = h_energy($data);
 
  foreach my $keys (keys %d){
  if($keys = $min and $keys = $max){
  print $keys . n;
  }
  }
  }
  termofilter(hybrid.txt, -30, -20);
 
  Date: Thu, 29 Nov 2012 17:27:15 -0200
 
  From: thiagogla...@ticursos.net
  To: rio-pm@pm.org
   Subject: Re: [Rio-pm] Chaves de hash
 
  Onde estou agora o firewall bloqueia o pastebin. Pela sua 
  explicação,
  verificar por regex seria uma solução segura. O número sera 
  convertido
  para um string e, se a sua regex prevê uma margem segura para a
   imprecisão do ponto flutuante na sua aplicação, funciona sem 
  problemas.
 
  Em 2012-11-29 16:59, Aureliano Guedes escreveu:
   Nossa, aqui virou uma arena de ideias, da para aprender muita 
  coisa
so lendo.
  
   O problema é o seguinte, eu tenho uma lista nesse formato:
  
   target: 01010101
   length: 581
   miRNA : hsa-miR-15a
   length: 22
   
   mfe: -24.4 kcal/mol
   p-value: 0.334111
  
   position 244
   target 5' C UCUCCUGUGGUCUCU G U 3'
   CACA GACCA GUGCUGUU
   GUGU UUGGU CACGACGA
miRNA 3' AAUA U 5'
  
   Conforme este arquivo http://pastebin.com/9v6WFUT7 [1]
  
   Eu quero filtrar essa lista de acordo com o valor de mfe.
   
   Exemplo, se mfe for menor que -30 e maior que -20 esta dentro.
  
   Logo fiz da seguinte forma: http://pastebin.com/Dnhv0Zya [2]
   
   Funcionou, o problema era sono. Não percebi que a regex estava
   pegando um espaço.
  
   Quanto a usar reais como chave de hash, se eu tiver dois reais 
  iguais
   poderá ser um problema para acessar os valores,
mas em toda regra existe sua exceção.
  
   No meu caso, o que me importa é que mfe esteja no intervalo
   determinado.
  
   Caso descordem seria uma honra ler a explicação de qualquer um de
vocês.
  
   Date: Thu, 29 Nov 2012 16:44:50 -0200
   From: thiagogla...@ticursos.net
   To: rio-pm@pm.org

Re: [Rio-pm] Chaves de hash

2012-11-29 Por tôpico 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 marciodesouzaferre...@gmail.com 
escreveu:

47
On Nov 29, 2012 11:35 PM, Renato Santos renato.c...@gmail.com wrote:


#define float_epsilon 0.1;
#define float_equal(a,b) (fabs((a) - (b))  float_epsilon)


BTW
2012/11/29 Blabos de Blebe bla...@gmail.com



float_equal

-- 
Saravá,


Renato CRONhttp://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] Chaves de hash

2012-11-28 Por tôpico Aureliano Guedes

Ola Monges.

Estou com um problema simples mas que não acho a solução.

Eu tenho um hash onde as chaves são valores numericos reais (a maioria negativo 
e quase nenhum inteiro).
Estou limitando esses valores por um maximo e um minimo.

foreach my $keys (keys %d) {
if ($keys = $min and $keys = $max) {
print $d{$keys};
}
}

Problema que não da certo. 
Ha algo de errado aqui??
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

  1   2   >