[SP-pm] Substituicoes com verificacao

Luis Motta Campos monsieur_champs em yahoo.com.br
Quinta Março 2 08:42:45 PST 2006


   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! doce lar. Faça do Yahoo! sua homepage. 
http://br.yahoo.com/homepageset.html 



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