[Cascavel-pm] Mais uma pergunta idiota de REGEX !!!
Luis Campos de Carvalho
monsieur_champs em yahoo.com.br
Segunda Junho 28 13:50:37 CDT 2004
Solli Moreira Honorio wrote:
> Antes das perguntas idiotas... como foi o encontro... beberam muita
> cerveja ? Desda fez a mulher não me liberou e disse mais... só estarei
> livre depois que terminar a reforma do apartamento... ela não compreende
> que antes de programar temos um longo período de análise :-) ... ela
> acho que estou ludibriando-a !!
Bom, eu lamento muito que a sua mulher ache isso... :-) Mas tenha
paciência... com o tempo, ela vai ver que você tem realmente de fazer
muita análise antes de implementar... :-)
Sobre o encontro, foi mais ou menos como sempre: bebemos umas duas ou
três 'brejas cada, acho que o Alceu descobriu que para gostar de cerveja
é necessário saber apreciar as coisas *amargas* da vida...
A novidade mais interessante foi conversar com o gerente do
O'Malleys, um holandês naturalizado brasileiro (ou era o contrário?)
chamado Marcel. Ele se interessou em conceder aos Monges uma mesa
"cativa" todo último sábado do mês... estou para telefonar para ele e
conversar mais sobre o assunto. :-)
Gostaria de saber o que os Monges acham deste tipo de patrocínio, mas
é sério pessoal... a gente pode acabar usando camisas com o logo do Perl
em uma manga e o logo do O'Malleys na outra... e isso pode ser bom ou
ruim para a nossa imagem. Por favor pesem bem vossas respostas.
> Pessoal,
>
> Eu posso dizer que $Valor =~ /^$procurado$/ é o mesmo que $Valor ==
> $procurado ? Se sim, porque o pessoal utiliza isto ?
Não pode dizer isso. $Valor =~ /^$procurado/ pode ser *true* em casos
como
#!/usr/bin/perl
$Valor = 'Fred Flintstone';
$procurado = 'Fred';
if( $Valor =~ /^$procurado/ ){
print "Regexp vale\n!";
}
if( $Valor == $procurado ){
print "Igualdade numérica vale!\n";
}
__END__
E não preciso me explicar muito para que o pessoal entenda que 'Fred
Flintstone' não é numericamente igual a 'Fred'. Mas a expressão regular
'^Fred' certamente encontra o que busca em 'Fred Flintstone'.
Se você quer comparar strings, use 'eq' (igualdade alfanumérica) ou
'cmp' (comparação alfanumérica). Se você quer comparar números use '=='
(igualdade numérica) ou '<=>' (comparação numérica).
Expressões regulares tem efeitos nem sempre simples de se vislumbrar
e são certamente muito dispendiosas (em termos de recursos) para se usar
em testes lógicos simples.
Espero que isso sane completamente suas dúvidas...
Putamplexos!
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Luis Campos de Carvalho is BSc in Comp Science,
PerlMonk [SiteDocClan], Cascavel-pm Moderator,
Unix Sys Admin && Certified Oracle DBA
http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Mais detalhes sobre a lista de discussão Cascavel-pm