--- nfo/perl/libs/DesignPattern/Bridge.pm 2002/12/13 21:46:29 1.1 +++ nfo/perl/libs/DesignPattern/Bridge.pm 2002/12/15 02:06:15 1.2 @@ -1,7 +1,10 @@ ## -------------------------------------------------------------------------------- -## $Id: Bridge.pm,v 1.1 2002/12/13 21:46:29 joko Exp $ +## $Id: Bridge.pm,v 1.2 2002/12/15 02:06:15 joko Exp $ ## -------------------------------------------------------------------------------- ## $Log: Bridge.pm,v $ +## Revision 1.2 2002/12/15 02:06:15 joko +## + feature to be able to specify module in non-perl-style when loading plugins: e.g. $process->load('Setup/Storage') +## ## Revision 1.1 2002/12/13 21:46:29 joko ## + initial check-in ## @@ -15,6 +18,8 @@ use base qw( DesignPattern::Object ); +use Data::Dumper; + ## ======== object inheritance ======== # TODO: @@ -80,13 +85,19 @@ my $modulename_load = shift; + # substitute slashes through double double-colons to load modules perl-style + $modulename_load =~ s/\//::/g; + my $package = $self_classname . '::' . $modulename_load; $logger->info( __PACKAGE__ . "->load: $package" ); # this is the module testing phase - use mixin doesn't seem to propagate errors by default eval("use $package;"); if ($@) { - $logger->error( __PACKAGE__ . "->load: $@" ); + # include caller information + my @caller = caller; + my $caller_msg = $caller[1] . ':' . $caller[2]; + $logger->error( __PACKAGE__ . "->load: $@ ($caller_msg)" ); } #print "ref-1: ", ref $self, "\n";