[Rio-pm] negacao com regex /^x/

Victor Ramos victornrm em gmail.com
Terça Abril 7 13:38:09 PDT 2009


Nossa, mau galerinha, foi falha minha
confundi o ^ (comeco da string ) com [^](negacao)
sorry


On Tue, Apr 7, 2009 at 5:30 PM, Victor Ramos <victornrm em gmail.com> wrote:

> me surgiu uma duvida, não sei c eh um bug do perl o.0
> vejamos
> :~$date
> Ter Abr  7 17:20:00 BRT 2009
> :~$cat facu_ou_folga.pl
> if ( `date` =~ /Sab|Dom/) {
>   print "Folga!\n";
> } else {
>   print "Facu\n";
> }
> :~$perl facu_ou_folga.pl
> Facu
>
> perfeito
> agora, tentando ao contrario usando a negacao.
> :~$cat facu_ou_folga.pl
> if ( `date` =~ /^(Sab|Dom)/) {
>   print "Facu!\n";
> } else {
>   print "Folga\n";
> }
> :~$perl facu_ou_folga.pl
> Folga
> :~$
>
> Oque ouve? estou usando a negação "^", a logica deveria ser, caso não achar
> Sab ou Dom,  tirei como exemplo do learning perl(A.13. Answers to Chapter 14
> Exercises), q tem um assim:
>     if (`date` =~ /^S/) {
>       print "go play!\n";
>     } else {
>       print "get to work!\n";
>     }
>
> com um obs: "If we had to use this in a real-world program, we'd probably
> use the pattern /^(Sat|Sun)/"
>
> eu percebi que posso negar com o not (não logico) "!" :
> :~$cat facu_ou_folga.pl
> if ( `date` =~ !/(Sab|Dom)/) { # unless ( `date` =~ /(Sab|Dom)/) {
>   print "Facu!\n";
> } else {
>   print "Folga\n";
> }
> :~$perl facu_ou_folga.pl
> Facu!
> :~$
>
> alguem me socorre?
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20090407/09b0a87a/attachment.html>


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