[SP-pm] Substituicoes com verificacao
Luis Motta Campos
monsieur_champs em yahoo.com.br
Quinta Março 2 09:46:04 PST 2006
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
Mais detalhes sobre a lista de discussão SaoPaulo-pm