尝试使用库perl时在库名称中使用变量
我想更改库名我有理由,但当我在库路径中使用变量时,它似乎找不到它….在@INC中找不到APOE.pm尝试使用库perl时在库名称中使用变量,perl,Perl,我想更改库名我有理由,但当我在库路径中使用变量时,它似乎找不到它….在@INC中找不到APOE.pm my ($plugin_name) = @ARGV; use lib("/usr/share/perl/5.10.1/$plugin_name"); use APOE qw(callAPOE); 这不可能吗 编辑: $plugin_name=AIB-TorrentPanel-v2.00; 模块名为 APOE.pm你的my$plugin\u name=@ARGV;将在运行时运行,对于lib来说
my ($plugin_name) = @ARGV;
use lib("/usr/share/perl/5.10.1/$plugin_name");
use APOE qw(callAPOE);
这不可能吗
编辑:
$plugin_name=AIB-TorrentPanel-v2.00;
模块名为
APOE.pm你的my$plugin\u name=@ARGV;将在运行时运行,对于lib来说已经太晚了。根据需要,使用lib列表;几乎相等
BEGIN { unshift(@INC, LIST) }
但是您的$plugin_名称在当时不可用
但是,您可以使用require替换您的使用,如下所示:
my ($plugin_name) = @ARGV;
require "/usr/share/perl/5.10.1/$plugin_name/APOE.pm";
你的我的$plugin\u name=@ARGV;将在运行时运行,对于lib来说已经太晚了。根据需要,使用lib列表;几乎相等
BEGIN { unshift(@INC, LIST) }
但是您的$plugin_名称在当时不可用
但是,您可以使用require替换您的使用,如下所示:
my ($plugin_name) = @ARGV;
require "/usr/share/perl/5.10.1/$plugin_name/APOE.pm";
你可以简单地写:
use lib "/usr/share/perl/5.10.1/$ARGV[0]";
或者,如果您需要执行比示例代码所示更复杂的操作来设置目录名:
my $plugin_name;
BEGIN {
($plugin_name) = @ARGV;
}
use lib "/usr/share/perl/5.10.1/$plugin_name";
你可以简单地写:
use lib "/usr/share/perl/5.10.1/$ARGV[0]";
或者,如果您需要执行比示例代码所示更复杂的操作来设置目录名:
my $plugin_name;
BEGIN {
($plugin_name) = @ARGV;
}
use lib "/usr/share/perl/5.10.1/$plugin_name";
您是否尝试过使用lib$plugin_name;?是的,我检查了路径。用APOE代替APOE.pm怎么样?我假设APOE.pm位于/usr/share/perl/5.10.1/的子目录中,称为APOE。如果不是,请尝试将其放入子目录。是否要重命名没有pm扩展名的文件?我不知道你的意思。哦。否该子目录名为AIB-TorrentPanel-v2.00No。如果APOE.pm直接位于/usr/share/perl/5.10.1/下,请尝试将其放入名为/usr/share/perl/5.10.1/APOE的子目录中。然后用APOE调用脚本。您是否尝试过使用lib$plugin_name;?是的,我检查了路径。用APOE代替APOE.pm怎么样?我假设APOE.pm位于/usr/share/perl/5.10.1/的子目录中,称为APOE。如果不是,请尝试将其放入子目录。是否要重命名没有pm扩展名的文件?我不知道你的意思。哦。否该子目录名为AIB-TorrentPanel-v2.00No。如果APOE.pm直接位于/usr/share/perl/5.10.1/下,请尝试将其放入名为/usr/share/perl/5.10.1/APOE的子目录中。用APOE调用你的脚本。