From: Nicholas Clark Date: Sun, 8 Sep 2002 22:36:09 +0000 (+0100) Subject: strict.pm pod at __END__ X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=4b2eca7a72ce307ed58cc8af1ec195a6dc39d730;p=p5sagit%2Fp5-mst-13.2.git strict.pm pod at __END__ Message-ID: <20020908213608.GM286@Bagpuss.unfortu.net> p4raw-id: //depot/perl@17885 --- diff --git a/lib/strict.pm b/lib/strict.pm index c89edbf..2eb756c 100644 --- a/lib/strict.pm +++ b/lib/strict.pm @@ -1,5 +1,44 @@ package strict; +$strict::VERSION = "1.02"; + +my %bitmask = ( +refs => 0x00000002, +subs => 0x00000200, +vars => 0x00000400 +); + +sub bits { + my $bits = 0; + my @wrong; + foreach my $s (@_) { + push @wrong, $s unless exists $bitmask{$s}; + $bits |= $bitmask{$s} || 0; + } + if (@wrong) { + my $useno = { + __PACKAGE__.'::import' => 'use', + __PACKAGE__.'::unimport' => 'no' + }->{ (caller(1))[3] }; + require Carp; + Carp::croak("Don't know how to '$useno ".__PACKAGE__." qw(@wrong)'"); + } + $bits; +} + +sub import { + shift; + $^H |= bits(@_ ? @_ : qw(refs subs vars)); +} + +sub unimport { + shift; + $^H &= ~ bits(@_ ? @_ : qw(refs subs vars)); +} + +1; +__END__ + =head1 NAME strict - Perl pragma to restrict unsafe constructs @@ -87,43 +126,4 @@ appears in curly braces or on the left hand side of the "=E" symbol. See L. - =cut - -$strict::VERSION = "1.02"; - -my %bitmask = ( -refs => 0x00000002, -subs => 0x00000200, -vars => 0x00000400 -); - -sub bits { - my $bits = 0; - my @wrong; - foreach my $s (@_) { - push @wrong, $s unless exists $bitmask{$s}; - $bits |= $bitmask{$s} || 0; - } - if (@wrong) { - my $useno = { - __PACKAGE__.'::import' => 'use', - __PACKAGE__.'::unimport' => 'no' - }->{ (caller(1))[3] }; - require Carp; - Carp::croak("Don't know how to '$useno ".__PACKAGE__." qw(@wrong)'"); - } - $bits; -} - -sub import { - shift; - $^H |= bits(@_ ? @_ : qw(refs subs vars)); -} - -sub unimport { - shift; - $^H &= ~ bits(@_ ? @_ : qw(refs subs vars)); -} - -1;