home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / share / perl / 5.8.8 / strict.pm < prev    next >
Encoding:
Perl POD Document  |  2007-03-05  |  599 b   |  40 lines

  1. package strict;
  2.  
  3. $strict::VERSION = "1.03";
  4.  
  5. my %bitmask = (
  6. refs => 0x00000002,
  7. subs => 0x00000200,
  8. vars => 0x00000400
  9. );
  10.  
  11. sub bits {
  12.     my $bits = 0;
  13.     my @wrong;
  14.     foreach my $s (@_) {
  15.     push @wrong, $s unless exists $bitmask{$s};
  16.         $bits |= $bitmask{$s} || 0;
  17.     }
  18.     if (@wrong) {
  19.         require Carp;
  20.         Carp::croak("Unknown 'strict' tag(s) '@wrong'");
  21.     }
  22.     $bits;
  23. }
  24.  
  25. my $default_bits = bits(qw(refs subs vars));
  26.  
  27. sub import {
  28.     shift;
  29.     $^H |= @_ ? bits(@_) : $default_bits;
  30. }
  31.  
  32. sub unimport {
  33.     shift;
  34.     $^H &= ~ (@_ ? bits(@_) : $default_bits);
  35. }
  36.  
  37. 1;
  38. __END__
  39.  
  40.