Re: how to require() a file?

[email protected] (Gunnar Hjalmarsson) Fri, 27 Feb 2009 22:27:51 +0100
Newsgroups perl.beginners.cgi
Message-ID <[email protected]>
Stanisław T. Findeisen wrote:
> I am trying to require() a file using its absolute name. In command line 
> mode everything works fine, but not in Apache:
> 
> [Fri Feb 27 17:45:07 2009] [error] Can't locate 
> /home/stf/public_html/test/arcv/public_html/../common.pl in @INC (@INC 
> contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi

<snip>

> /usr/lib/perl5/5.8.8 . /etc/httpd) at
-----------------------^

> How can I require() a file when using Perl in CGI mode? Do I have to 
> modify @INC?

Based on your reply (to an answer that I not saw) it seems like giving 
the web server read access to common.pl solved your problem. Together 
with the fact that the current directory is included in @INC, it 
indicates that you are not running the script under mod_perl.

> I guess I am using mod_perl:

Guess?? You really, really ought to know! What happens if you add this 
line to the script:

     print "Not mod_perl\n" unless $ENV{MOD_PERL};

-- 
Gunnar Hjalmarsson
Email: http://www.gunnar.cc/cgi-bin/contact.pl