SetEnv should work fine as long as your server has mod_env enabled. If not, there are other ways to set environment variables in Apache.
In the unlikely case that $HOME actually exists, it will most likely be useless since it would probably refer to ~apache and not ~you. I suppose that mod_suexec might be able to make it your $HOME again, but that's a lot of work for little gain.
You might have a problem with permissions. For Apache to be able to read your files, you have to grant permissions for others to read. Maybe it's as simple as chmod o+x perl5lib. You can check if Apache can read the dir with a simple cgi that includes something like
#!/usr/bin/perl -T print "Content-type: text/plain\n\n"; print "PERL5LIB is $ENV{PERL5LIB}\n" -X $ENV{PERL5LIB} and print "Apache can read $ENV{PERL5LIB}\n";
If all else fails, use lib should do the trick, so I'd bet on a permissions problem.
In reply to Re: apache2 passing PERL5LIB environment to cgi
by rowdog
in thread apache2 passing PERL5LIB environment to cgi
by debinix
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |