[FUGSPBR] [OT] Regex

Diego Linke - GAMK linke em calnet.com.br
Qui Abr 10 10:50:49 BRT 2003


Ola

seguinte vamos as dicas:

Um no loop como e por linha.... vc faz um $linha, $linha_ant (de linha anterior). 

dai vc junta os dois algo como: 

$linha_ant =~ s/\r|\n//g;
$linha_dupla = $linha_ant . $linha;

OBS: tem aquela regex antes para tirar o \n e \r da linha_ant ... :D

Dia no caso vc compara a linha_dupla :D e manda printar sempre de duas em duas linhas (trata apenas numeros pares ou impar (depende se o seu contador comecar de 0 ou 1) para printar usando MOD).

Um detalhe vc esta fazendo a regex:

s/<\/BODY>//g;

Use:
s/<\/BODY>//ig;

Ou melhor:
s/<\/BODY>//i;

Sem o "g" porque nao e global... vc so tem um BODY e com o "i" para ser ignore case.

Bom acho q vc entedeu a logica mais ou menos ne ? agora e so praticar :D 

abracos

-- 
Diego Linke
Diretor de Tecnologia
diego em web4ever.com.br
....................................................
Web4ever Solutions - (41) 568-1791
http://www.web4ever.com.br
Curitiba - Paraná - Brasil

On Thu, 10 Apr 2003 09:40:42 -0300
"Leonardo B. Cuquejo" <leo em magicwebdesign.com.br> wrote:

> Pessoal, tenho um problema..
> 
> Tenho um sisteminha que manda e-mails (html) via perl e ele adiciona um
> rodape sempre no fim da mensagem, como eu tinha feito isso:
> 
> $linha =~ s/<\/BODY>/$mrodape/g;
> 
> Dai ele trocava a palavra </BODY> do e-mail html por por ex.:
> 
> <TABLE><TR><TD> Ola este eh o rodape </TD></TR></TABLE></BODY>
> 
> Assim tudo funcionava perfeitamente...
> 
> Problema:
> as vezes o outlook quando faz mensagem em HTML ele deixa o BODY assim:
> </=^M
> BODY>
> 
> Dai essa minha syntax nao funciona. Pergunta como fazer isso? Segundo
> problema esse perl le o EML linha por linha.
> entao tentei tratar assim:
> $linha =~ s/<\/=\nBODY>/$mrodape/g;
> 
> ou
> $linha =~ s/<\/=\r\nBODY>/$mrodape/g;
> 
> ou ainda
> $linha =~ s/<\/=\n\rBODY>/$mrodape/g;
> 
> mas nao funciona ja que ele pega linha por linha!
> 
> Desculpem pelo off, mas ja tentei de tudo que eh jeito.
> 
> GAMK, sei que vc eh bom nisso, da uma forcinha :D
> 
> Estava pensando quem sabe um if...
> Tipo se a linha anterior acabou com <\= e a nova comecar com BODY>...
> 
> Vou tentar enquanto aguardo resposta
> 
> Grato,
> Leonardo B. Cuquejo
> 
> _______________________________________________________________
> Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
> Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
> 
_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd