X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FUtil.pm;h=04c5ee4060763c8d6fcd56a8358c414f2e443c46;hb=9a8a1b5855775c74adfdc003006f30fd472b9cdd;hp=ad10a598ec10bba48dbce470bcd3bf5327fd22f1;hpb=fb0394a27249134114e98ed491f5306c15d049e0;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Util.pm b/lib/Mouse/Util.pm index ad10a59..04c5ee4 100644 --- a/lib/Mouse/Util.pm +++ b/lib/Mouse/Util.pm @@ -3,6 +3,7 @@ package Mouse::Util; use strict; use warnings; use base 'Exporter'; +use Carp; BEGIN { our %dependencies = ( @@ -121,7 +122,7 @@ BEGIN { # ^^^^^ CODE TAKEN FROM MRO::COMPAT ^^^^^ }, # VVVVV CODE TAKEN FROM TEST::EXCEPTION VVVVV - 'Test::Exception' => do { + 'Test::Exception 0.27' => do { my $Tester; @@ -193,16 +194,18 @@ BEGIN { test => [qw/throws_ok lives_ok/], ); - for my $module_name (keys %dependencies) { + for my $module (keys %dependencies) { + my ($module_name, $version) = split ' ', $module; + my $loaded = do { local $SIG{__DIE__} = 'DEFAULT'; - eval "require $module_name; 1"; + eval "use $module (); 1"; }; $loaded{$module_name} = $loaded; - for my $method_name (keys %{ $dependencies{ $module_name } }) { - my $producer = $dependencies{$module_name}{$method_name}; + for my $method_name (keys %{ $dependencies{ $module } }) { + my $producer = $dependencies{$module}{$method_name}; my $implementation; if (ref($producer) eq 'HASH') {