> -----Original Message----- > From: David Landgren [mailto:[EMAIL PROTECTED] > Sent: Friday, January 20, 2006 9:32 AM > To: Steven Manross > Cc: perl-win32-web@listserv.ActiveState.com > Subject: Re: Does PERL5LIB work under IIS? > > Steven Manross wrote: > >> I don't understand how environment variables and @INC play > together > >> on Win32. I have an IIS server (5.0 I believ), with a system > >> environment variable > >> > >> PERL5LIB=c:/agdata/libperl > >> > >> Given a simple CGI script, run under IIS: > >> > >> print <<HTML; > >> content-type: text/plain > >> > >> PERL5LIB=$ENV{PERL5LIB} > >> HTML > >> print "inc=$_\n" for @INC > >> __END__ > >> > >> I get the following output: > >> PERL5LIB=C:/agdata/libperl > >> inc=C:/Perl/lib > >> inc=C:/Perl/site/lib > > > > I don't think this is an IIS thing.. I don't have a PERL5LIB > > Environment Variable defined on my system at all. (ActivePerl 5.8.6 > > Build 811) > > > > However, you should be able to push the path to @INC from > your script > > (I think it needs to be in a BEGIN block, but I'm not sure). I've > > never really found a need to include a path that is not in > the normal > > Win32 paths since everything I do is via PPM (and it throws > the module > > in the lib or site\lib folders -- PPM makes for easy installs and > > versioning) > > -- with the exception of Mail-SpamAssassin, and it installs to the > > site\lib folder as well. Good Luck. > > Pushing directories to @INC is trivial. I currently have the > following awfulhak to make this work: > > BEGIN { > my ($lib) = ($ENV{PERL5LIB} =~ m{^([cd]:(?:/\w+)+)$}i); > push @INC, $lib; > } > > But the thing is I *don't* want to have to do that to each > and every web script, it's too painful. Maybe I should > explain the end goal. > > I have three seperate Win32 boxes. I have a Perl search > directory for in-house modules which, for historical reasons, > is in different directories on different drives for the three > machines. PERL5LIB lets me abstract that difference away. > (And hopefully one day bring them back into line). >
You are probably looking for Config.pm (look at c:\perl\bin\config.pl as well).. I've not used it myself, but there's html and POD docs on them for their use, but I think you'd want to look at modifying these values (to supply your additional library paths): installvendorarch installvendorlib In the Config.pm Good luck. Steven > So I have standard Activestate Perl installations (albeit with ppm > additions) sitting in one place, and my in-house modules in a > completely different directory. This allows me keep the AS > stuff and my stuff completely separate. And the way the house > works, it's just better that way. > > For command line programs, this works as advertised: > > C:\Documents and Settings\Administrator>perl -le "print for @INC" > C:/agdata/libperl > c:/Perl/lib > c:/Perl/site/lib > . > > It does not work for IIS, and I wish it did. If there's > another way of pushing stuff onto @INC, like editing a sekret > file hidden away in c:/perl/.../ I'd settle for that. > > David > -- > "It's overkill of course, but you can never have too much overkill." > > > _______________________________________________ Perl-Win32-Web mailing list Perl-Win32-Web@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs