我有几个类似的文件,我希望它们都require
第三个文件,我可以保持共性。但是,第三个文件需要使用前两个文件中声明的变量。如果我理解正确,我应该能够在前两个文件中使用our
声明它们,以便能够在第三个文件中修改它们。
然而,我甚至没有那么远。我似乎无法require
正确。它声称它“找不到”我的相对路径,即使它与之后立即列出的@INC中的某些内容相关。如果我使用绝对路径,它甚至会给出错误,但我并不热衷于此。
该文件与其邻居具有相同的权限,我可以通过Web浏览器访问它(它不会打印任何内容,但如果我让它死掉()它会正常死亡,所以我知道Apache能够访问它,至少。)路径中没什么好笑的:它匹配=~ '^[0-9a-z_./]+$'
这不是编译错误,因为在尝试调试时,我注释掉了除最后一行之外的所有内容,1;
require()
需要成功。
我可能做错了什么?
根据ikegami的要求更新:
eval { require '../test/testform_common_source.pl' };
或
eval { require '/home/myappdev/test/testform_common_source.pl' };
都产生
Can't locate /home/myappdev/test/testform_common_source.pl in @INC (@INC contains: /home/myappdev/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /etc/httpd) at /home/myappdev/test/testform_step_2.pl line 75.
根据ikegami的要求更新2:
-rw-rw-r-- 1 chopper chopper 2090 Oct 28 12:34 testform_common_source.pl
-rw-rw-r-- 1 chopper chopper 5608 Oct 29 06:51 testform_step_2.pl