is_deeply( [ sort keys %mods ], [ sort qw(Cwd strict Carp) ], "Got the correct modules" ); #### # Failed test (t\n1_modules_required.t at line 17) # Structures begin differing at: # $got->[2] = 'Win32' # $expected->[2] = 'strict' # Looks like you failed 1 tests of 3. t\n1_modules_required.t .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/3 subtests #### package Bar; use Cwd; use Cwd 1; use Cwd 1.00102; use Cwd 1.1.2; BEGIN { cwd(); } BEGIN { $x = 1; $x = 2; require strict; } sub my_croak { require Carp; Carp::croak(cwd, @_); } 1; #### my $bar = Module::Info->new_from_module( 'Bar' ); ... my %mods = $bar->modules_required; #### bless({ dir => "...\\t\\lib", file => "...\\t\\lib\\Bar.pm", name => "Bar", safe => 0, use_version => 0, }, "Module::Info") #### my @mods = $self->_call_B('modules_used'); #### "-MO=Module::Info,modules_used" "...\t\lib\Bar.pm" #### ...\perl\bin\perl.exe "-MO=Module::Info,modules_used" "...\t\lib\Bar.pm" #### ...\perl\bin\perl.exe "-MO=Module::Info,modules_used" "...\t\lib\Bar.pm" #### Subroutine B::OP::parent redefined at ...\blib\lib/B/BUtils.pm line 217. , use Cwd () at "...\t\lib\Bar.pm" line 3 , use Cwd (1) at "...\t\lib\Bar.pm" line 4 , use Cwd (1.00102) at "...\t\lib\Bar.pm" line 5 , use Cwd (v1.1.2) at "...\t\lib\Bar.pm" line 6 , use Win32 (0.27) at "...\t\lib\Bar.pm" line 624 , require bare strict.pm at line 15 , require bare Carp.pm at line 19 , ...\t\lib\Bar.pm syntax OK