X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FPackage%2FVariant.pm;fp=lib%2FPackage%2FVariant.pm;h=8ff3f56430c1559774900e7a1cce9e1bb048a166;hb=3c1ca277175ea9b9bcce0f674d99b6da40eaa293;hp=fca5a493f7dad1b3ac5e15605b3f80e603187aa8;hpb=328258e027e8c41f5c23ddc061d69fde923138f4;p=p5sagit%2FPackage-Variant.git diff --git a/lib/Package/Variant.pm b/lib/Package/Variant.pm index fca5a49..8ff3f56 100644 --- a/lib/Package/Variant.pm +++ b/lib/Package/Variant.pm @@ -2,7 +2,7 @@ package Package::Variant; use strictures 1; use Import::Into; -use Module::Runtime qw(use_module); +use Module::Runtime qw(require_module); use Carp qw(croak); our $VERSION = '1.001004'; # 1.1.4 @@ -96,7 +96,9 @@ sub build_variant_of { my $variant_name = "${variable}::_Variant_".++$Variable{$variable}{anon}; foreach my $to_import (@{$Variable{$variable}{args}{importing}}) { my ($pkg, $args) = @$to_import; - use_module($pkg)->import::into($variant_name, @{$args}); + require_module $pkg; + eval q{ BEGIN { $pkg->import::into($variant_name, @{$args}) }; 1; } + or die $@; } my $subs = $Variable{$variable}{subs}; local @{$subs}{keys %$subs} = map $variant_name->can($_), keys %$subs;