- warn "Loaded plugin: Maypole::Plugin::$_" if $caller->debug;
- unshift @ISA, "Maypole::Plugin::$_";
+ my $plugin = "Maypole::Plugin::$_";
+ if ($plugin->require) {
+ push @plugin_modules, "Maypole::Plugin::$_";
+ unshift @ISA, "Maypole::Plugin::$_";
+ warn "Loaded plugin: $plugin for $caller"
+ if $caller->can('debug') && $caller->debug;
+ } else {
+ die qq(Loading plugin "$plugin" for $caller failed: )
+ . $UNIVERSAL::require::ERROR;
+ }