Thanks! That worked great.
-----Original Message----- From: Tanton Gibbs [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 09, 2002 8:27 PM To: [EMAIL PROTECTED] Subject: Re: Problem adding to @INC Try use lib "C:/websites/blessinganimal/cgi-bin/makechanges"; at the top of your program. That will add it to the @INC array at compile time. Since use works at compile time, it was trying to import TemplateHandler before the $main::INC[$#main::INC] = ... statement was executed. Tanton ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, July 09, 2002 10:18 PM Subject: Problem adding to @INC > Hi, > > I'm very new to perl, although I've used many other languages for CGI/DB > programming. I think this must be a simple problem, but I've tried all my > reference books without any luck. > I've been using some modules I wrote (not using h2x yet) on my test > server/work computer without any problem. I've always left the modules in > the same directory as the .pl file, and perl would find it without any > errors. > > I test on a Win XP Home Ed running ActivePerl 5.6, and Apache. > > I then tried to send it to a production server, same files, running Win NT, > IIS, and ActivePerl. The only scripts that fail are the ones that try to > use modules in the same directory. I get the error: > > > __START__ > > Can't locate TemplateHandler.pm in @INC (@INC contains: C:/Perl/lib > C:/Perl/site/lib .) at > c:\websites\blessinganimal\cgi-bin\makechanges\edit.plx line 15. > BEGIN failed--compilation aborted at > c:\websites\blessinganimal\cgi-bin\makechanges\edit.plx line 15. > > __END__ > > (NOTE, I write my files as *.pl extensions, but to get CGI error messages > (as opposed to no output), I have to save a copy with an 'plx' for some > reason...that I really should know) > > The code I'm running looks like (please excuse the mess): > > > > __START__ > > use warnings; > use strict; > > print "Content-Type: text/plain\n\n"; #to simplify CGI output > > > > > $main::INC[$#main::INC] = "C:/websites/blessinganimal/cgi-bin/makechanges"; > # compiles at least... > > > > use TemplateHandler; #this causes all the trouble > > > > print "inc is @INC"; #prints a string with all items > #seperated with a space, including "C:/websites/blessinganimal..." > > > foreach my $item (@main::INC) { > print "'$item'\n"; #prints it all > } > > print "Hello World"; > __END__ > > > If I leave 'use TemplateHandler;' commented out, it runs. If I don't it > generates the error. > > The output that results if I comment out the 'use TemplateHandler;' line is: > > inc is C:/Perl/lib C:/Perl/site/lib > C:/websites/blessinganimal/cgi-bin/makechanges'C:/Perl/lib' > 'C:/Perl/site/lib' > 'C:/websites/blessinganimal/cgi-bin/makechanges' > Hello World > > > This is running on a server farm that doesn't give the the capacity to tweak > anything outside of the user directory. > Can anyone point me in the right direction? Adding to the @INC array > doesn't seem to effect anything, and I don't know what else to try. > > > > Thanks! > > > > > -- > 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]