in reply to "use"ing from dynamic namespace

BEGIN { my $ns = __PACKAGE__; $ns =~ s/::[^:]*$//; eval "require $ns\::Config"; "$ns\::Config"->import(qw(x y z)); }

is the same as

BEGIN { ( my $ns = __PACKAGE__ ) =~ s/::[^:]*$//; my @syms = qw(x y z); eval "use $ns\::Config \@syms"; }

Then add error checking

BEGIN { ( my $ns = __PACKAGE__ ) =~ s/::[^:]*$//; my @syms = qw(x y z); eval "use $ns\::Config \@syms; 1" or die $@; }

Since you import, if can also do the job:

sub qualify_ns { ( my $ns = __PACKAGE__ ) =~ s/::[^:]*$//; return "$ns\::$_[0]"; } use if 1, qualify_ns('Config') => qw(x y z);