正确的要求路径 perl
Correct require path perl
我有一个 perl 脚本 myscript.pl
和配置文件 myscript.conf
。两者都在同一个目录中,我通过 require 'myscript.conf';
将 conf 包含在 myscript.pl
中
如果我 运行 myscript 喜欢 ./myscript.pl
,它工作正常。如果我 运行 具有像 /full/path/myscript.pl
这样的完整路径,它会引发错误
Can't locate myscript.conf in @INC
我该如何解决这个问题?
添加
use lib '/full/path/'
在程序的开头。这会将路径添加到 @INC
错误不是因为你在运行程序时使用了完整路径,而是因为当前工作目录与脚本的位置不同.当前目录 .
出现在 @INC
中,因此 perl 将始终在那里寻找模块,但当前目录必须正确才能找到它们。
添加相对于脚本本身位置的库位置的规范方法是使用 FindBin
模块,像这样
use FindBin;
use lib $FindBin::Bin;
require 'myscript.conf';
我有一个 perl 脚本 myscript.pl
和配置文件 myscript.conf
。两者都在同一个目录中,我通过 require 'myscript.conf';
myscript.pl
中
如果我 运行 myscript 喜欢 ./myscript.pl
,它工作正常。如果我 运行 具有像 /full/path/myscript.pl
这样的完整路径,它会引发错误
Can't locate myscript.conf in @INC
我该如何解决这个问题?
添加
use lib '/full/path/'
在程序的开头。这会将路径添加到 @INC
错误不是因为你在运行程序时使用了完整路径,而是因为当前工作目录与脚本的位置不同.当前目录 .
出现在 @INC
中,因此 perl 将始终在那里寻找模块,但当前目录必须正确才能找到它们。
添加相对于脚本本身位置的库位置的规范方法是使用 FindBin
模块,像这样
use FindBin;
use lib $FindBin::Bin;
require 'myscript.conf';