[Rio-pm] find and replace

Daniel Mantovani daniel.oliveira.mantovani em gmail.com
Sábado Fevereiro 25 16:35:24 PST 2012


Se você tiver memória ram sobrando para a leitura do arquivo texto, eu recomendo usar hash slice.

my @keys;
my @replace;
$. % 2 == 0 ? push $_, @keys : push $_, @replace while(<$fh>);
my %hash;
@hash{@keys} = @replace;

Caso contrário você também pode fazer:

my ($key,$value);
while(my $line = <$fh>){
	if($line % 2 == 0) {
          $key = $line;
	}
	else {
         $value = $line;
       }
	if ($key && $value) {
           repalce_here($key,$value);
	  ($key,$value) = (undef,undef);
        }
}

-- 
Software Engineer
Just Another Perl Hacker
Daniel Mantovani +5511 8538-9897
XOXO

On Feb 25, 2012, at 8:40 PM, André Torres wrote:

> pessoal, queria pedir uma ajuda de vcs.
> 
> eu to tentando fazer um script pra modificar um txt em larga escala usando uma lista de substituição.
> vou trabalhar com os seguintes arquivos.
> 
> primeiro: arquivo que vai ser modificado
> >sequencia1
> acagacagatttagatt
> >sequencia2
> acgggtagtagtaccgagatgagatggggat
> ...
> 
> segundo: lista de substituição
> sequencia1    gene1
> sequencia2    gene2
> ...
> 
> eu queria saber se existe uma maneira de guardar a informação da linha[1] e da linha[2] por exemplo possam fazer parte  s/$linha[1]/$linha[2]/g em cadeia ate terminar a lista.
> 
> agradeço desde já a vcs.
> abraço.
> 
> -- 
> André Torres
> 
> "Quando o homem aprender a respeitar até o menor ser da criação, seja animal ou vegetal, ninguém precisará ensiná-lo a amar seu semelhante." (Albert Schweitzer - Nobel da Paz de 1952)
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm

-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120225/d278fbc0/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm