faça o push (só que sem a funcao), outra forma, porque não usar uma array ? e ai você coloca assim:
my @hmfe; while (..){ ... push @hmfe, {valor => $mirna, registro => $record}; ... } e ai você faria o seu loop pra encontrar o valor mudando apenas $keys por $linha->{valor} foreach my $linha (@hmfe){ ... if .. } ----- uma coisa: eu vi que sua funcao lá de intervalo está criando tudo de novo, dependendo do caso, você pode fazer a leitura apenas uma vez, retornar o @hmfe (em referencia { return \@hmfe }, para nao duplicar na memoria) e depois usar ele na funcao que recebe o intervalo e retorna os registros. 2012/11/30 Aureliano Guedes <guedes_1...@hotmail.com> > Biólogo não, biomedico, acredite essa diferença fere nossos sentimentos. > hahaha > > > > Hashs não têm mais de uma chave igual. Ele vai mudar o valor > > relacionado à chave e não criar outra chave com o mesmo valor. > > Agora sim, isso é um problemão. Estarei perdendo dados assim. > > Como poderia reverter isso então?? > > Faria a chave ser valor e o valor ser chave?? Quais minhas opções?? > > sub h_energy{ > my $self = shift; > my $data = $self->h_data || die "cannot find data"; > 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; > } > > > Date: Fri, 30 Nov 2012 10:30:17 -0200 > > From: thiagogla...@ticursos.net > > > To: rio-pm@pm.org > > Subject: Re: [Rio-pm] Chaves de hash > > > > Hashs não têm mais de uma chave igual. Ele vai mudar o valor > > relacionado à chave e não criar outra chave com o mesmo valor. > > > > Em 2012-11-30 00:24, Aureliano Guedes escreveu: > > > 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.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/ [1] > > >>> @renato_cron [2] > > >>> > > >>> _______________________________________________ > > >>> Rio-pm mailing list > > >>> Rio-pm@pm.org > > >>> http://mail.pm.org/mailman/listinfo/rio-pm [3] > > > > > >> _______________________________________________ > > >> Rio-pm mailing list > > >> Rio-pm@pm.org > > >> http://mail.pm.org/mailman/listinfo/rio-pm [3] > > > > > > _______________________________________________ Rio-pm mailing list > > > Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm > > > > > > Links: > > > ------ > > > [1] http://www.renatocron.com/blog/ > > > [2] http://twitter.com/#%21/renato_cron > > > [3] 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