2 package Module::Install::Base;
10 # Suspend handler for "redefined" warnings
12 my $w = $SIG{__WARN__};
13 $SIG{__WARN__} = sub { $w };
20 unless ( defined &{"${class}::call"} ) {
21 *{"${class}::call"} = sub { shift->_top->call(@_) };
23 unless ( defined &{"${class}::load"} ) {
24 *{"${class}::load"} = sub { shift->_top->load(@_) };
33 my $func = eval { shift->_top->autoload } or return;
48 Module::Install::Base::FakeAdmin->new;
54 ! $_[0]->admin->isa('Module::Install::Base::FakeAdmin');
59 package Module::Install::Base::FakeAdmin;
61 use vars qw{$VERSION};
63 $VERSION = $Module::Install::Base::VERSION;
69 $fake ||= bless(\@_, $_[0]);
76 # Restore warning handler
78 $SIG{__WARN__} = $SIG{__WARN__}->();