[SP-pm] Digest SaoPaulo-pm, volume 16, assunto 23

Wendel Scardua wendelscardua em gmail.com
Quarta Fevereiro 1 08:11:27 PST 2006


On 2/1/06, Roberto Maluhy Junior <maluhy em gmail.com> wrote:
> Olá,
>
> Wendel:
> Era exatamente este tr que o "Lorn" havia sugerido.
> Obrigado novamente.

Err... pois é, eu não tinha visto o email dele ^^;;; [devo ter marcado
como lido sem querer] ... (e não é a toa que a tr é a mesma, a gente
trabalha no msm lugar ^^;;; )

>
> Uma questão:
> ---
> Supondo
> $string =~ tr/pattern1/pattern2/;
> ---
> Você sabe como funciona o tr? Ele compara cada caractere do seu
> pattern1 com cada caractere da string a ser traduzida?
> Caso sim, acho que alguns caracteres deste tr apresentado nunca são
> utilizados como o \eth norueguês e assim podem ser removidos para que
> as traduções ocorram mais rápido.
> No entando, eu acho (suposição) que ele deve ir procurando os
> caracteres do pattern1 na ordem esquerda->direita e quando acha,
> substitui e pula para o próximo caractere da string. Caso este segundo
> caso seja o que realmente acontece, então podemos modificar o tr
> apresentado para conter em suas primeiras posições do pattern1 os
> caracteres mais encontrados na língua portuguesa. O que acha?
>

IANAE, mas eu chutaria que ele faria algo "a la hash", e pra cada
letra da string original, ele veria se no hash (chave: letras do
pattern1, valores: letras do pattern2) aparece a letra, e se sim,
trocar pelo valor correspondente.

Será que o source do perl que implementa o tr é legível ? :-) [talvez
eu procure pra descobrir...]

[]s
Wendel
--
"Or think of Perl as a bigger hammer.  It lets you treat everything
like a nail,
and get away with it most of the time.  But sometimes not."
-- Larry Wall


Mais detalhes sobre a lista de discussão SaoPaulo-pm