[SP-pm] Dúvida sobre comparação de Strings ( =~ ou eq )

Luis Motta Campos luismottacampos at yahoo.co.uk
Sun May 30 00:36:53 PDT 2010


On 05/29/2010 06:27 PM, "Flávio R. Lopes" wrote:
> Luis, obrigado pela ajuda.
> Bom...a grosso modo, quando se tratar de regex, para fazer esta
> comparação sempre devo usar "=~"
> E quando for pura e simplesmente strings aí sim eu uso "eq"
> É mais ou menos isso?

Está chegando lá.
Não imponha limitações por agora. Procure entender o que fazem os
operadores e como voc,ê pode usá-los para resolver o seu problema.

De novo, de outra forma:

"=~" (leia 'parece com') é o Operador de Expressões Regulares. Ele
"aplica" a expressão regular (passada à direita do operador) na
expressão (que vai ser convertida para String implícitamente se
necessário) à esquerda do operador.

"eq" (leia 'igual a') é o Operador de Igualdade de Strings. Ele compara
as expressões à sua direita e esquerda (tentando convertê-los para
strings implicitamente se necessário).

Assim, 'parece com' ( "=~" ) não é o mesmo operador que 'igual a' ( "eq"
) e eles obviamente fazem coisas diferentes prá você.

Ficou mais claro agora?

Eu recomendo que você vá a biblioteca da sua escola e leia o capítulo 3
("Gory Details") do livro "Progamming Perl" (Larry Wall, Tom
Christiansen, Jon Orwant, by O'Reilly Media, July 2000). O capítulo 3
explica todos os detalhes dos operadores do Perl.

Eu acho que a mesma informação está disponível na manpage "perlop",
online e no seu Linux.

Putamplexos.
-- 
Luis Motta Campos is a DBA,
Perl Programmer, foodie and photographer.


More information about the SaoPaulo-pm mailing list