10 loaded => \&mro::get_linear_isa,
12 # this recurses so it isn't pretty
17 my $classname = shift;
19 my @lin = ($classname);
21 foreach my $parent (@{"$classname\::ISA"}) {
22 my $plin = $code->($parent);
24 next if exists $stored{$_};
36 our @EXPORT_OK = map { keys %$_ } values %dependencies;
38 for my $module_name (keys %dependencies) {
39 (my $file = "$module_name.pm") =~ s{::}{/}g;
42 local $SIG{__DIE__} = 'DEFAULT';
43 eval "require '$file'; 1";
46 for my $method_name (keys %{ $dependencies{ $module_name } }) {
47 my $producer = $dependencies{$module_name}{$method_name};
50 if (ref($producer) eq 'HASH') {
51 $implementation = $loaded
53 : $producer->{not_loaded};
56 $implementation = $loaded
57 ? $module_name->can($method_name)
62 *{ __PACKAGE__ . '::' . $method_name } = $implementation;