[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