[SP-pm] Substituicoes com verificacao

Gabriel Vieira gabriel.vieira em gmail.com
Quinta Março 2 08:12:36 PST 2006


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