如何在从其他目录启动时包含perl模块?

如何在从其他目录启动时包含perl模块?,perl,Perl,我正在编写一些perl脚本,我想包括这个模块。当我与script.pl位于同一目录中时,一切都正常。但当我试图从其他目录启动脚本时,它会说它找不到我的模块。我的附件如下所示: use Functions qw(translateWord sendHelp); use lib '..'; 带有模块的文件称为函数。。我试过这样的方法: use Functions qw(translateWord sendHelp); use lib '..'; 但它也失败了。。我还尝试: use Cwd '

我正在编写一些perl脚本,我想包括这个模块。当我与script.pl位于同一目录中时,一切都正常。但当我试图从其他目录启动脚本时,它会说它找不到我的模块。我的附件如下所示:

use Functions qw(translateWord sendHelp);
use lib '..';
带有模块的文件称为函数。。我试过这样的方法:

use Functions qw(translateWord sendHelp);
use lib '..';
但它也失败了。。我还尝试:

use Cwd 'abs_path';
BEGIN {
    my $dir = abs_path($0);
    use lib "$dir";
}
但还是失败了。。我也试过:

use Cwd 'abs_path';
my $dir = abs_path($0);
use lib $dir;
但还是失败了。。我是Perl新手


提前谢谢

实现这一点的标准方法是使用lib。但是,使用
库并不理想,因为在调用脚本时,它是相对于当前工作目录的

实现这一点的方法是使用

例如

从脚本的“基本位置”向上遍历目录级别

试试这个:

BEGIN{
    unshift @INC, '/FULL/PATH/TO/DIR/OF/YOUR/MODULE';
}

请尝试在
~/.bashrc
启动文件中设置
PERL5LIB
。我无法修改计算机上用于测试脚本的任何内容。所以这不是一个解决方案。