define
view release on metacpan or search on metacpan
lib/define.pm view on Meta::CPAN
my %DefPkgs;
my %Vals;
my %Forbidden = map { $_ => 1 } qw{
BEGIN INIT CHECK END DESTROY AUTOLOAD
STDIN STDOUT STDERR ARGV ARGVOUT ENV INC SIG
};
sub import {
my $class = shift;
my $pkg = (caller)[0];
if( @_ ) {
if( ref $_[0] eq 'HASH' ) {
while( my( $name, $val ) = each %{$_[0]} ) {
do_import( $pkg, $name, $val );
}
}
else {
do_import( $pkg, @_ );
}
}
else {
croak "Must call 'use define' with parameters";
}
}
sub unimport {
my $class = shift;
my $pkg = (caller)[0];
if( @_ ) {
check_name( my $name = shift );
$DefPkgs{$name}{$pkg} = 1;
if( $Vals{$name} ) {
makedef( $pkg, $name, @{$Vals{$name}} );
}
else {
makedef( $pkg, $name );
}
}
( run in 1.246 second using v1.01-cache-2.11-cpan-a3c8064c92c )