<blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">perldoc é nosso amigo e nada nos faltará :-)<br></blockquote><br>Luiz obrigado pela sugestão. No FM :-) tem a resposta da segunda parte do meu e-mail. Tentei usar o hexadecimal, com sintaxe errada o que explica o não funcionamento, porque o \r não funcionou, mas R(ing)TFM, no perlre está escrito explicitamente que o "match" do EOL é o \R. <br>
<br><blockquote>"\R" will atomically match a linebreak, including the network line-ending "\x0D\x0A".<br> Specifically, is exactly equivalent to<br><br> (?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}])<br>
<br> Note: "\R" has no special meaning inside of a character class; use "\v" instead<br> (vertical whitespace).<br></blockquote><br>Só fiquei em dúvida do que ele quer dizer na nota.<br><br>
@Renato Santos: Legal esse detalhe do global! Vou manter isso em mente.<br><br>Obrigado a todos,<br clear="all">Otávio<br>
<br><br><div class="gmail_quote">2010/7/23 Luis Motta Campos <span dir="ltr"><<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On 07/22/2010 04:11 PM, Otavio Pereira wrote:<br>
> Aproveitando o e-mail porquê<br>
><br>
> $x =~ s/0x0d//g;<br>
><br>
> não funciona?<br>
><br>
> Alguma sugestão?<br>
<br>
</div>Sugiro que você RTFM(*) "perlre", onde se explica como usar notação<br>
hexadecimal em expressões regulares.<br>
<br>
A minha implementação da sua expressão seria mais como<br>
<br>
s{\x0D}{}g<br>
<br>
Ou a ainda mais legível<br>
<br>
s{\r}{}g<br>
<br>
O que você está fazendo de errado é negando que você tem um problema de<br>
arquitetura nos seus programas: você lê e processa arquivos com duas<br>
codificações diferentes (linhas terminadas com "\r\n" ou "\n" -- padrão<br>
"Windows" ou "unix"), mas não faz nada explícito para detectar o padrão<br>
e se comportar de acordo no seu programa. Você poderia começar assumindo<br>
que todas as linhas que você ler de um mesmo arquivo vão estar no mesmo<br>
formato, e partir daí.<br>
<br>
Eu recomendo construir um Iterador flexível o bastante para repetir o<br>
padrão para todas as linhas do arquivo, baseado em Iterator::IO::ifile,<br>
e transformar isso numa biblioteca que você pode até subir para o CPAN.<br>
<br>
Putamplexos<br>
<font color="#888888">--<br>
Luis Motta Campos is a DBA,<br>
Perl Programmer, foodie and photographer.<br>
<br>
(*) Querendo dizer "Read The FRIENDLY Manuals"<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>
</div></div></blockquote></div><br>