use*_*133 1 directory perl module
所以不要想放
BEGIN {push @INC , '/folder1', '/folder2', '/folder3'}
Run Code Online (Sandbox Code Playgroud)
找到我的模块.我想能够放一个变量,比如这个.
my $test = '/folder1';
BEGIN {push @INC , $test, '/folder2', '/folder3'}
Run Code Online (Sandbox Code Playgroud)
无论我做什么,它仍然不会找到我想要的模块.
A BEGIN在解析代码期间执行,因此它将在其外部的变量赋值发生之前执行.
解决方案是在BEGIN块内进行分配:
my $test;
BEGIN {
$test = "/some/path";
}
use lib $test, "/path2", "path3";
Run Code Online (Sandbox Code Playgroud)
该use lib …优选unshift @INC, …