pronto, na 51 eu respondo! 2012/11/30 Aureliano Guedes <guedes_1...@hotmail.com>
> Bruno, no meu if funcionou tanto com && quanto com and. O meu erro mesmo > foi que a regex pegava um espasso. > pois é, vai funcionar! #no more comments > Bem a minha duvida ficou em "porque seria problematico colocar reais em > chaves de hash no meu caso?" > tenho quase certeza que, como já foi removido de um texto, o numero real em questão, seja apenas um scalar, sem a flag de 'real' (se é existe essa flag internamente), portanto, você pode colocar qualquer coisa nas chaves de um hash sem problema (to em duvida se existe algum byte especial que é usado para separar as chaves internamente, esse valor fica em uma das variaveis magicas) > > Se eu fosse pesquisar um valor especifico e tivesse duas ou mais chaves > com o mesmo valor real seria problema > você tem que pesquisar exatamente o valor desejado, mas não tem problema pois você esta percorrendo todas as chaves > mas no meu caso *i*mporta que o valor estej*e *em um determinado > intervalo, podem ter 20 chaves iguais, estando no intervalo > eu quero os 20 valores. 49?? > que? 20 chaves iguais não pode! voltando a que eu respondi no email via celular, eu faria o codigo de outra forma, se for possivel e os intervalos forem já predetermindados: no lugar de $hmfe{$mirna} = $record if ($mirna); eu já montaria ( fill, populate, do the inserts ) o hash com as chaves já sendo o intervalo, calculado por uma funcao (que eu chameria de filtro) push(@{$hmfe{determina_intervalo($mirna)}, $record} if ($mirna); $truncate = 1000; # isso transforma -0.123456789 em -0.123 e desconsidera o que estiver na frente do 3. o round-up transformaria em 0.12*4* * * sub determina_intervalo { my $valor = shift; # isso so faz o truncate $valor = int ($valor * $truncate) / $truncate; # depois separa em grupos de 200: $valor *= 1000; return int($valor/200)*200; # isso retorna só '200' que ja vale, mas poderia ser tambem: my $tmp = int($valor/200)*200; retrun "$tmp:".$tmp+200 # que vai retornar '-400:-200' que } e assim o valor da chave do intervalo já contem todos os registros daquele intervalo, nem de if precisa! perl -E 'sub a{my $x = shift() * 1000; $x = int($x/200)*200; $x}; say a -0.12; say a -0.23; say a -0.25; say a -0.26; say a -5; say a -0.29; say a -0.5; say a -0.71' 0 -200 -200 -200 -5000 -200 -400 -600 > ------------------------------ > 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.00001;#define float_equal(a,b) (fabs((a) - (b)) < > float_epsilon) > > *BTW* > > 2012/11/29 Blabos de Blebe <bla...@gmail.com> > > float_equal > > > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron <http://twitter.com/#%21/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 > -- Saravá, Renato CRON http://www.renatocron.com/blog/ @renato_cron <http://twitter.com/#!/renato_cron>
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm