home *** CD-ROM | disk | FTP | other *** search
/ PC User 2003 January / Disc 3 / Amethyst.iso / live / usr / lib / perl5 / 5.6.0 / warnings / register.pm next >
Encoding:
Perl POD Document  |  2001-03-10  |  722 b   |  31 lines

  1. package warnings::register ;
  2.  
  3. require warnings ;
  4.  
  5. sub mkMask
  6. {
  7.     my ($bit) = @_ ;
  8.     my $mask = "" ;
  9.  
  10.     vec($mask, $bit, 1) = 1 ;
  11.     return $mask ;
  12. }
  13.  
  14. sub import
  15. {
  16.     shift ;
  17.     my $package = (caller(0))[0] ;
  18.     if (! defined $warnings::Bits{$package}) {
  19.         $warnings::Bits{$package}     = mkMask($warnings::LAST_BIT) ;
  20.         vec($warnings::Bits{'all'}, $warnings::LAST_BIT, 1) = 1 ;
  21.         $warnings::Offsets{$package}  = $warnings::LAST_BIT ++ ;
  22.     foreach my $k (keys %warnings::Bits) {
  23.         vec($warnings::Bits{$k}, $warnings::LAST_BIT, 1) = 0 ;
  24.     }
  25.         $warnings::DeadBits{$package} = mkMask($warnings::LAST_BIT);
  26.         vec($warnings::DeadBits{'all'}, $warnings::LAST_BIT++, 1) = 1 ;
  27.     }
  28. }
  29.  
  30. 1 ;
  31.