gpt4 book ai didi

dbi - [perl]如何强制perl在我自己的路径中使用模块?

转载 作者:行者123 更新时间:2023-12-02 07:36:38 25 4
gpt4 key购买 nike

我想让 perl 在我自己的路径中使用 DBI 模块(假设,/home/users/zdd/perl5/lib/DBI),但是系统也有一个 DBI 模块,它是/usr/lib/perl5/库/DBI。当我在脚本中编写以下代码时,perl 默认使用系统路径,如何强制它使用我的路径下的路径?

use lib './perl5/lib/DBI';
use DBI;

sub test {
....
}

/usr/lib/perl5/lib/DBI 已添加到我的 bash 配置文件中的 PATH 环境变量中,它被许多脚本使用,所以我无法禁用它。

最佳答案

主要DBI 模块的文件位于./perl5/lib 中。所以你的路径没有指向它。

DBI 文件夹包含 DBI 的子模块,例如DBI::Foo(模块名称中的 :: 表示您的模块目录结构)。

尝试使用 ./perl5/lib 作为你的库。

此外,如果当前目录不是您认为的那样,使用相对路径将失败。如果您有疑问,请获取您的脚本 call cwd查看当前目录是什么。

出于调试目的,使用以下内容可能会有所帮助:

no lib '[main Perl module library path here]';

这样你就可以确定你只使用你的自定义模块路径。任何找不到模块的失败都会导致错误,而不是默默地使用系统版本。

更新:有关详细信息,请参阅 Perldoc on use lib . Perl 使用您首先指定的库。如果没有,则表明它实际上并未在您指定的位置找到该模块。

关于dbi - [perl]如何强制perl在我自己的路径中使用模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15563715/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com