[Cascavel-pm] dúvida quanto aos operadores "|" e "||"
Ednardo Lobo
ednardo em elobo.cjb.net
Segunda Junho 9 06:55:54 CDT 2003
On Mon, Jun 09, 2003 at 08:20:12AM -0300, Alceu R. de Freitas Jr. wrote:
> Bom dia,
>
> Eu vi ontem essa construção:
>
> untill (flock FILE EX_LOCK | SH_LOCK) {
>
> algum código
>
> }
>
>
> Como eu deveria interpretar essa construção? Qual a diferença entre
> usar "|" e "||"? Em testes de abertura de arquivos, por exemplo,
> usamos o "||":
>
> open (FILE,"/etc/groups") || die "Não consegui abrir o arquivo";
>
> Que significa "faça isso, senão faça isso" o que funciona como um
> if-then-else.
>
> Sei que parece algo meio irrelevante para se preocupar, mas eu
> procurei algo sobre isso e não encontrei!
>
> Se alguém puder me explicar, eu agradeço!
>
> []´s
>
Os operadores '|' e '&', diferentemente de '||' e '&&', realizam uma
operação lógica a nível de bits.
Sendo:
LOCK_EX = 2
LOCK_SH = 1
$r1 = LOCK_EX | LOCK_SH
$r2 = LOCK_EX & LOCK_SH
Teremos:
print $r1 # imprime 3
print $r2 # imprime 0
Ou seja:
========== ==========
Oper: | Oper: &
---------- ----------
2 -> 00010 2 -> 00010
1 -> 00001 1 -> 00001
----- -----
(3) 00011 (0) 00000
========== ==========
--
Ednardo Lobo - www.elobo.cjb.net, www.lobosnet.com
Por favor, evitem enviar anexos no formato MS-Office, obrigado!
Veja: http://www.fsf.org/philosophy/no-word-attachments.pt.html
Mais detalhes sobre a lista de discussão Cascavel-pm