Exposing my ignorance, wanting help with use!

Spiros Denaxas spiros at lokku.com
Wed Feb 14 14:48:01 GMT 2007


Not entirely sure, but might it be a problem with file permissions?

on my box:

ls /Library/Perl/5.8.6/File/Slurp.pm
-r-xr-xr-x   1 root  admin    19K Feb 17  2006 /Library/Perl/5.8.6/File/Slurp.pm


Try setting +x.

Spiros

On 2/14/07, Peter Hickman <peter.hickman at semantico.com> wrote:
> 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