[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