[Perl] operador que no se que significa

Jorge Alejandro Adell jorgeadell en gmail.com
Lun Mayo 9 13:09:52 CDT 2005


Amigos:
Les paso parte del codigo del modulo Net::Time
La pregunta es que no se que significa $offset = 0|0;
Porque el programador puso de esta manera.
Yo hubiera puesta $offset = 0 y listo.
Me interesaria saber el motivo de porque usa el operador "|"
____________________________________________________

my $offset = 0 | 0;

 return undef
	unless defined $s->recv($buf, length(pack("N",0)));

 # unpack, we | 0 to ensure we have an unsigned
 my $time = (unpack("N",$buf))[0] | 0;

 # the time protocol return time in seconds since 1900, convert
 # it to a the required format

 if($^O eq "MacOS") {
   # MacOS return seconds since 1904, 1900 was not a leap year.
   $offset = (4 * 31536000) | 0;
 }
 else {
   # otherwise return seconds since 1972, there were 17 leap years between
   # 1900 and 1972
   $offset =  (70 * 31536000 + 17 * 86400) | 0;
____________________________________________________



Más información sobre la lista de distribución Perl