Exposing my ignorance, wanting help with use!
Peter Hickman
peter.hickman at semantico.com
Wed Feb 14 14:30:07 GMT 2007
Unfortunately my fount of all things Perl is away today and as I look
around the office I see that I am surrounded by Java programmers. So no
help there, I'll just have to expose my ignorance to the whole world.
I have this little project I am working on that involves the following code:
my %handlers = $t->get_handlers();
foreach my $handler ( keys %handlers ) {
my $class = $handlers{$handler}{class};
my $config = $handlers{$handler}{config};
eval {
require $class;
$self->{dispatcher}->add_dispatcher( $handler,
$class->new($config) );
};
die "Error loading dispatcher '$class': $@\n" if $@;
}
The problem is the require in the eval. When it is called with class set
to, say, Stupid::Dispatcher::XSQL I get the following error:
Error loading dispatcher 'Stupid::Dispatcher::XSQL': Can't locate
Stupid::Dispatcher::XSQL in @INC (@INC contains: /sw/lib/perl5
/sw/lib/perl5/darwin
/System/Library/Perl/5.8.6/darwin-thread-multi-2level
/System/Library/Perl/5.8.6
/Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6
/Library/Perl /Network/Library/Perl/5.8.6/darwin-thread-multi-2level
/Network/Library/Perl/5.8.6 /Network/Library/Perl
/System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.8.6
/Library/Perl/5.8.1/darwin-thread-multi-2level /Library/Perl/5.8.1 .) at
/Library/Perl/5.8.6/Stupid/Control.pm line 35.
Here's the rub, the file is located at:
[stupid]$ ll /Library/Perl/5.8.6/Stupid/Dispatcher/XSQL.pm
-r--r--r-- 1 root admin 1520 Feb 14 13:50
/Library/Perl/5.8.6/Stupid/Dispatcher/XSQL.pm
[stupid]$
Which you can see is in @INC. I can -M the file and even perl -e
'require Stupid::Dispatcher::XSQL; print 1;' the damn thing but the
above code will not work. Even sticking a use Stupid::Dispatcher::XSQL
in the code does not help.
Help. I do not understand what is going on.
--
Peter Hickman.
Semantico, Lees House, 21-23 Dyke Road, Brighton BN1 3FE
t: 01273 722222
f: 01273 723232
e: peter.hickman at semantico.com
w: www.semantico.com
More information about the london.pm
mailing list