my redhat 9 is configured canned w/apache and mod_perl. The only
configuration I know is in /etc/httpd/conf.d/perl:

Alias /mp /var/www/mp
<Directory /var/www/mp>
    SetHandler perl-script
    PerlHandler ModPerl::Registry::handler
    PerlOptions +ParseHeaders
    Options +ExecCGI

####put this here?
    setenv PERL5LIB /path/to/lib

</Directory>

> Besides the advice given below, there are a few other things you can do...
>
> To add the location of the Perl script to the lib path you can use this.
> The FindBin module finds your script, then sets $Bin to that location.
>
> use FindBin qw($Bin);
> use lib $Bin;
>
> Another way to do it is to set the environment variable PERL5LIB to the
> location of your home-grown modules.  You can set this in the Apache
> config
> (or .htaccess file) with the setenv command (see Apache docs for more
> info,
> but I think it is "setenv PERL5LIB /path/to/lib").
>
> You could also install it into the "site_perl" directory in your @INC
> path,
> but you should never put it in the "vendor_perl" directories.
>
> Of the above options I would recommend using the PERL5LIB env variable.
> ...And I would also recommend that the libraries not be put in any
> directory
> accessable to the web server (unless you have no choice).
>
> Rob
>
>
> -----Original Message-----
> From: Daniel Staal [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, September 30, 2003 2:39 PM
> To: [EMAIL PROTECTED]; Perl Newbies
> Subject: Re: building module/package
>
>
>
>
> --On Monday, September 29, 2003 23:53 -0700 "[EMAIL PROTECTED]"
> <[EMAIL PROTECTED]> wrote:
>
>> -I've sent this to the mod_perl list but there seems to be no
>> response.
>>
>> I got the module working in the current directory executing on the
>> command line. But I have a problem calling a module in my mod_perl
>> dir using apache on redhat 9. I have a mystuff.pm in the same
>> directory as the calling perl program. I got it working running on
>> the command line but in apache mod_perl, it can't find the module.
>
> Ok, I know nothing about mod_perl, but let's see what I can do.
> First guess: mod_perl considers that 'the current directory' is
> either itself or insecure.  (Probably the latter: it is in this
> context.)
>
>> Questions:
>>  - Where should the mystuff.pm be located in?
>>  - The only place i know about mod_perl configuration file is:
>> /etc/httpd/conf.d/perl.conf. This contains the Alias and Directory
>> directive.
>>
>> Error message:
>> Can't locate mystuff.pm in @INC (@INC contains:
>> /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0
>> /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
>> /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl
>> /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
>> /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl
>> /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 .)
>
> Hmm.  So it does seem to contain the current directory...  (That
> would be the '.' at the end.)  Doesn't help much: We still don't know
> *which* directory is the current directory.
>
> There are two or three things you could do here.  First off, you
> could put 'mystuff.pm' in one of the above directories.  Don't really
> recommend that, it confuses the user on what is written on your end
> and what isn't, but it is possible.
>
> Secondly, you could see if there is a way to add to the @INC array in
> mod_perl's config.  I would assume so, but I have no clue...
>
> Third, you could add to @INC in your program file.  The best way to
> do this is to use the 'use lib' pragma.  Syntax: 'use lib "$lib";'
> where $lib is any perl expression that can be expanded into the
> directory.  (That means you can use variables, but only ones that
> will have a value without running any of your program code...)  Put
> that in your program before you 'use' your module.
>
> To simplify: put 'use lib "/path/to/module";' before 'use module;' in
> your main program and it should work. ;-)
>
>> Any help would be great.
>> By the way, I just getting started with perl.
>> -rkl
>
> Hey, I haven't even completed my first perl program yet.  It just
> happens that my first program is best written with three modules...
>
> Daniel T. Staal
>
> ---------------------------------------------------------------
> This email copyright the author.  Unless otherwise noted, you
> are expressly allowed to retransmit, quote, or otherwise use
> the contents for non-commercial purposes.  This copyright will
> expire 5 years after the author's death, or in 30 years,
> whichever is longer, unless such a period is in excess of
> local copyright law.
> ---------------------------------------------------------------
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to