[SP-pm] Remover 0x0D (aka carriage return) do final de uma linha
Otavio Pereira
otavio.pereira at gmail.com
Mon Jul 26 07:50:12 PDT 2010
>
> perldoc é nosso amigo e nada nos faltará :-)
>
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.
"\R" will atomically match a linebreak, including the network line-ending
"\x0D\x0A".
Specifically, is exactly equivalent to
(?>\x0D\x0A?|[\x0A-\x0C\x85\x{2028}\x{2029}])
Note: "\R" has no special meaning inside of a character class; use
"\v" instead
(vertical whitespace).
Só fiquei em dúvida do que ele quer dizer na nota.
@Renato Santos: Legal esse detalhe do global! Vou manter isso em mente.
Obrigado a todos,
Otávio
2010/7/23 Luis Motta Campos <luismottacampos em yahoo.co.uk>
> On 07/22/2010 04:11 PM, Otavio Pereira wrote:
> > Aproveitando o e-mail porquê
> >
> > $x =~ s/0x0d//g;
> >
> > não funciona?
> >
> > Alguma sugestão?
>
> Sugiro que você RTFM(*) "perlre", onde se explica como usar notação
> hexadecimal em expressões regulares.
>
> A minha implementação da sua expressão seria mais como
>
> s{\x0D}{}g
>
> Ou a ainda mais legível
>
> s{\r}{}g
>
> O que você está fazendo de errado é negando que você tem um problema de
> arquitetura nos seus programas: você lê e processa arquivos com duas
> codificações diferentes (linhas terminadas com "\r\n" ou "\n" -- padrão
> "Windows" ou "unix"), mas não faz nada explícito para detectar o padrão
> e se comportar de acordo no seu programa. Você poderia começar assumindo
> que todas as linhas que você ler de um mesmo arquivo vão estar no mesmo
> formato, e partir daí.
>
> Eu recomendo construir um Iterador flexível o bastante para repetir o
> padrão para todas as linhas do arquivo, baseado em Iterator::IO::ifile,
> e transformar isso numa biblioteca que você pode até subir para o CPAN.
>
> Putamplexos
> --
> Luis Motta Campos is a DBA,
> Perl Programmer, foodie and photographer.
>
> (*) Querendo dizer "Read The FRIENDLY Manuals"
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100726/f7c2997a/attachment.html>
More information about the SaoPaulo-pm
mailing list