I am a new guy learning perl and working as it goes. I am really stuck at this point, been working on this thing for past 4 Hr without any results.
I am using a bunch of custom Modules inside a directory and then I got a ticket to implement a new KnowledgeBase and so I added a new module in the Moduledirectory. After adding it, when I try to access MyModule it does not work at all. I get
Can't locate FolderName/MyModuleName.pm in @INC
Can someone please help me. It is getting really annoying. I have tried to restart apache server, but still the same error shows up.
I also tried to just compile my module, but I get the same error except the name of the module is different it is the one that I am calling/using in MyModule.
Please let me know if you can help me. Thanks in advance.
Edit: Adding more details, the exact error that I am getting (with line breaks for readability) is:
Can't locate Net2Net/KnowledgeBase.pm in @INC (@INC contains:
(DOCUMENT_ROOT)/bin
/usr/local/lib/perl5/5.8.8/sun4-solaris
/usr/local/lib/perl5/5.8.8
/usr/local/lib/perl5/site_perl/5.8.8/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.8
/usr/local/lib/perl5/site_perl
.
) at /data1/web/intradev.com-80/docs/gss/kb/ajax-kb-update.cgi line 6.
BEGIN failed--compilation aborted at /data1/web/intradev.com-80/docs/gss/kb/ajax-kb-update.cgi line 6.
The file is located at
But Perl searches the following locations (assuming cwd is
/, which is likely for an CGI under apache):As such, Perl cannot find it. You have to tell it to look in
You can do that by adding
to your
.cgi. (Other ways include using the-Icommand line option and env varPERL5LIB. See perlrun.) It looks like someone tried to do that (or equivalent), but messed up by doing (the equivalent of)The following would also work if you want to use a relative path: