[Templates] Loading plugins under mod_perl

Christiaan Kras c.kras@pcc-online.net
Thu, 14 Jun 2007 22:35:06 +0200


Hi,

I'm running a website written with CGI::Application, DBIx::Class and TT 
under mod_perl. I don't have full access to the server so I can't 
specify custom lib directories in a htaccess or httpd.conf. I also can't 
install modules with the shell (perl -MCPAN -eshell).

So, I'm using a custom libdir and in there TT and other modules are 
installed (manually uploaded). All works fine, but Template::Plugins is 
giving me some problems. Currently I'm only using Template::Plugin::Date 
but when doing multiple requests to the server the directories in @INC 
seem to reset.

The error I get is that it can't find Template::Plugin::Date at line 191 
in Template::Plugins

    $ok = eval { require "$file.pm" };

The templates are being processed in the final stage of the website. All 
the other parts (that is, modules from the same custom library) are 
being executed. So I don't think this error shows up because the module 
can't be found in @INC.

I wonder, is this because require ,which is used for lazy loading 
(right?), isn't reading the modified @INC because it's being executed 
within eval()?

The error doesn't show up a lot, but it still does when the server gets 
multiple requests in a very short time (seconds).

Any help would be appriciated a lot! Thanks in advance :-).

-- 

Christiaan Kras

http://www.pcc-online.net | c.kras@pcc-online.net