[SP-pm] Substituicoes com verificacao

Gabriel Vieira gabriel.vieira em gmail.com
Quinta Março 2 09:56:42 PST 2006


Bom.. ele quer q cada 4 digitos seja feita a verificação, para cada 1 e nao 
para todos de uma so vez.. podendo haver varias sequencias de 4 digitos em 
uma unica linha....

o seu codigo le linha por linha e so pega a 1a sequencia.

se tento implementar acabo caindo no meu codigo :T

devo estar errando... mas realmente nao consegui.

Abraços
----- Original Message ----- 
From: "Luis Motta Campos" <monsieur_champs em yahoo.com.br>
To: <saopaulo-pm em mail.pm.org>
Sent: Thursday, March 02, 2006 2:46 PM
Subject: Re: [SP-pm] Substituicoes com verificacao



   Como não? Eu perdi algum detalhe? Não basta fazer o meu código funcionar?

Gabriel Vieira wrote:
> eu tentei... mas proq ele pediu nao consegui implementar :T
>
> perdoe-me ;~~~
>
> ----- Original Message ----- 
> From: "Luis Motta Campos" <monsieur_champs em yahoo.com.br>
> To: <saopaulo-pm em mail.pm.org>
> Sent: Thursday, March 02, 2006 1:42 PM
> Subject: Re: [SP-pm] Substituicoes com verificacao
>
>
>    Para de repetir o que eu digo, Gabriel... e implementa o que falta.
>    Putamplexos atarefados!
>
> Gabriel Vieira wrote:
>
>>Bom.. de acordo com o oq ele pediu.. o codigo nao ajuda.. a ideia ta ai
>>sim.. e mto + limpa doq a q eu propus.. mas falta umas implementações :D
>>hehe
>>
>>----- Original Message ----- 
>>From: "Luis Motta Campos" <monsieur_champs em yahoo.com.br>
>>To: <saopaulo-pm em mail.pm.org>
>>Sent: Thursday, March 02, 2006 1:07 PM
>>Subject: Re: [SP-pm] Substituicoes com verificacao
>>
>>
>>   Ah! Otimo! Alguem que pode rodar codigo!
>>   Testa, e manda o patch. A ideia basica estah aih.
>>
>>Gabriel Vieira wrote:
>>
>>
>>>Não funcionou =x
>>>hehe
>>>
>>>----- Original Message ----- 
>>>From: "Luis Motta Campos" <monsieur_champs em yahoo.com.br>
>>>To: <saopaulo-pm em mail.pm.org>
>>>Sent: Thursday, March 02, 2006 12:20 PM
>>>Subject: Re: [SP-pm] Substituicoes com verificacao
>>>
>>>
>>>  Nossa, que complicado!
>>>  Basta assim:
>>>
>>>  while( <FILE> ){
>>>    if( m/.{1,10}(\d+).{1,10}/ ){
>>>      print "Substituir (...)$`$&$'(...) por (...)$`<data>$&</data>$'?";
>>>      $answer = <>;
>>>      s/(\d+)/<data>\1</data>/ if $answer eq 's';
>>>    } # if
>>>  } # while
>>>
>>>
>>>  Mas isso eh LENTO.
>>>
>>>Gabriel Vieira wrote:
>>>
>>>
>>>
>>>>IIIIIIIIIIIIIIIIIIniciadoooo o Perl Golf!!!!!
>>>>
>>>>Gabriel já dispara comum programa bem configurável!!!!
>>>>
>>>>Valerá quem fizer o menor código com configurações iguais à disposta no
>>>>código a seguir e (codigo opcional) o menor codigo sem as
>>>>configuracoes!!!
>>>>
>>>>--------8<--------
>>>># frase a ser trabalhada
>>>>my $frase = "Em 2002, o Brasil ganhou a copa com 2 gols apos 9980 rezas!
>>>>:)";
>>>># quantidade de digitos do conjunto a ser trabalho
>>>>my $dig = 4;
>>>># mínimo de caracteres antes e depois
>>>>my $aed = 10;
>>>># tags para 'cobrir' os digitos solicitados
>>>>my %c = (a => "<data>",f => "</data>");
>>>>
>>>>$frase =~ s/(\d{$dig})/&x($1)/eg;
>>>>print $frase;
>>>>
>>>>sub x{
>>>>my $z = $_[0];
>>>>my $x = pos $frase;
>>>>my $w = $aed;
>>>>my $y = $x - $w;
>>>>$y = 0, $w = $x if $y < 0;
>>>>my $a = substr($frase,$y,$w);
>>>>my $b = substr($frase,$x+$dig,$aed);
>>>>print $a.$z.$b." => ".$a.$c{a}.$z.$c{f}.$b;
>>>>print "\nSubstituir? (s/n) ";
>>>>chomp(my $j = <STDIN>);
>>>>$j =~ /^s$/i?$c{a}.$z.$c{f}:$z;
>>>>}
>>>>--------8<---------
>>>
>>>
>>>
>>
>
>


-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Luis Motta Campos is Software Engineer, Oracle OCP/DBA, Un*x
  Sysadmin, Member of {Lisbon,São Paulo,Cascavel,Brasil,London}
  Perl Mongers and Perl Fanatic Evangelist
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com
_______________________________________________
SaoPaulo-pm mailing list
SaoPaulo-pm em pm.org
http://mail.pm.org/mailman/listinfo/saopaulo-pm 



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