X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FImport-Into.git;a=blobdiff_plain;f=lib%2FImport%2FInto.pm;fp=lib%2FImport%2FInto.pm;h=7ca9d0bc8062618649b0bcd90c12a01cc28d3ee1;hp=cc9ef0b6479a493b3697513c6edea7c7b992982d;hb=7a9ec1de996eb32a6fb07c942ae3c03744a82a17;hpb=5078f1f909937a82a7b771e77b175bc84111f421 diff --git a/lib/Import/Into.pm b/lib/Import/Into.pm index cc9ef0b..7ca9d0b 100644 --- a/lib/Import/Into.pm +++ b/lib/Import/Into.pm @@ -25,9 +25,13 @@ sub _prelude { sub _make_action { my ($action, $target) = @_; my $version = ref $target && $target->{version}; - my $ver_check = $version ? ', $version' : ''; eval _prelude($target) - . qq{sub { Module::Runtime::use_module( shift$ver_check )->$action(\@_) }} + . q[sub {] + . q[ my $module = shift;] + . q[ Module::Runtime::require_module($module);] + . (ref $target && exists $target->{version} ? q[ $module->VERSION($version);] : q[]) + . q[ $module->].$action.q[(@_);] + . q[}] or die "Failed to build action sub to ${action} for ${target}: $@"; }