package a;
BEGIN {
use Data::Dumper;
print STDERR 'a:',Dumper \%INC;
}
use b;
my $a = { foo => &b::bar () };
1;
####
package b;
BEGIN {
use Data::Dumper;
print STDERR 'b:',Dumper \%INC;
}
use c;
sub bar { 1; }
1;
####
package c;
BEGIN {
use Data::Dumper;
print STDERR 'c:',Dumper \%INC;
}
use a;
1;
####
Undefined subroutine &b::bar called at a.pm line 7.
Compilation failed in require at c.pm line 6.
BEGIN failed--compilation aborted at c.pm line 6.
Compilation failed in require at b.pm line 6.
BEGIN failed--compilation aborted at b.pm line 6.
Compilation failed in require at a.pm line 6.
BEGIN failed--compilation aborted at a.pm line 6.