Here is the patch to Pluggable.pm to fix the problem:
--- Pluggable.pm.bak 2008-09-22 19:16:17.000000000 -0700
+++ Pluggable.pm 2008-09-22 19:16:46.000000000 -0700
@@ -207,7 +207,12 @@
return $1 if( $plugin =~ /^\+(.*)/ );
- my $o = join '::', $self->_plugin_ns, $plugin;
+ my $o;
+ if ( $plugin ) {
+ $o = join '::', $self->_plugin_ns, $plugin;
+ } else {
+ $o = $plugin
+ }
#Father, please forgive me for I have sinned.
my @roles = grep{ /${o}$/ } $self->_plugin_locator->plugins;
On Mon Sep 22 21:59:54 2008, CTBROWN wrote:
Show quoted text> It is sometimes desirable to (un)set _plugin_ns to "":
>
> $app->_plugin_ns( "" );
>
> This is particularly true when your plugins will come from different
> _plugin_app_ns, i.e. [ "mymod::Modules", "mymod::Plugin" ]
>
> Perhaps the idea of _plugin_ns and _plugin_app_ns should be collapsed
> into one ArrayRef. This would make the interface simpler and have less
> of a cognitive load on the developer.
>
> Otherwise, good module.