Config-Simple
view release on metacpan or search on metacpan
# imports names into the caller's namespace as global variables.
# I'm not sure how secure this method is. Hopefully someone will
# take a look at it for me
sub import_names {
my ($self, $namespace) = @_;
unless ( defined $namespace ) {
$namespace = (caller)[0];
}
if ( $namespace eq 'Config::Simple') {
croak "You cannot import into 'Config::Simple' package";
}
my %vars = $self->vars();
no strict 'refs';
while ( my ($k, $v) = each %vars ) {
$k =~ s/\W/_/g;
${$namespace . '::' . uc($k)} = $v;
}
croak "import_from() is not an object method.";
}
# this is a hash support
if ( defined($arg) && (ref($arg) eq 'HASH') ) {
my $cfg = $class->new($file) or return;
map { $arg->{$_} = $cfg->param($_) } $cfg->param();
return $cfg;
}
# following is the original version of our import_from():
unless ( defined $arg ) {
$arg = (caller)[0];
}
my $cfg = $class->new($file) or return;
$cfg->import_names($arg);
return $cfg;
}
sub error {
( run in 1.456 second using v1.01-cache-2.11-cpan-1e74a51a04c )