[Rio-pm] negacao com regex /^x/
Victor Ramos
victornrm em gmail.com
Terça Abril 7 13:30:22 PDT 2009
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/487a2acb/attachment.html>
Mais detalhes sobre a lista de discussão Rio-pm