Package variables | General documentation | Methods |
WebCvs | Raw content |
import | No description | Code |
import | description | prev | next | Top |
my ($callpack) = caller(0); # Name of the calling package}
my $pack = shift; # Need to move package off @_
# Get list of variables supplied, or else
# all of Clone2Acc:
my @vars = @_ ? @_ : keys( %Clone2Acc ); return unless @vars; # Predeclare global variables in calling package
eval "package $callpack; use vars qw(" . join(' ', map { '$'.$_ } @vars) . ")"; die $@ if $@; foreach (@vars) { if ( defined $Clone2Acc{ $_ } ) { no strict 'refs'; # Exporter does a similar job to the following
# statement, but for function names, not
# scalar variables:
*{"${callpack}::$_"} =\$ Clone2Acc{ $_ }; } else { die "Error: Clone2Acc: $_ not known\n"; } } } 1;