Script can't 'require' file from directory

January 5, 2014 2.6k views
Hello! I decided to move my Perl-based forum from my current $45 VPS to $5 Digital Ocean VPS. I managed to install PHP, MySQL and Perl on Ubuntu. I tried to copy the forum to the new location, but got '500 error'. Then I tried to make fresh install and get the following error: Software error: Can't locate ./Sources/ in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . /etc/apache2 ./Modules) at /var/www/cgi-bin/ line 70. and if I go to require "$sourcedir/"; and change it to require "/var/www/cgi-bin/Sources/"; error vanishes. So AFAIU the problem is that Perl script can't 'require' file from indicated directory. How do I fix this? I'd like to find solution that don't demand to edit scripts. P.S. 'Hello world' perl script works perfectly.
5 Answers

$sourcedir = "./Sources";
Try setting $sourcedir to /var/www/cgi-bin/Sources.
Yes, I did is as I mentioned in first message. But I see other errors appearing, and these errors are also about paths. Perl don't understand that it must get the file placed relatively the script, it searches only in @INC-defined directories.
No, I mean replace
$sourcedir = "./Sources";
$sourcedir = "/var/www/cgi-bin/Sources";
Have another answer? Share your knowledge.