小编pup*_*pil的帖子

包含来自不同位置的 perl 模块

我的问题如下

  1. 我的库位于 ./abc/def/lib 位置
  2. 我在路径 ./abc/xyz/lib/tuv/abc.pm 中使用它

我从完全不同的位置运行代码,类似于 ./abc/xyz/blah1/blah2/../../ 。我在这里运行代码。

我已经创建了环境参数

setenv def ./abc/def 
setenv xyz ./abc/xyz
Run Code Online (Sandbox Code Playgroud)

我尝试了以下解决方案

  1. Begin { push(@INC, $ENV{def}."/lib" ) }
    除了提供我使用的其他库的路径之外,还使用 ​​lib $ENV{xyz}."/lib"

    这个解决方案不起作用。我收到错误消息,指出 ./abc/def/lib 中的库未包含在内。

  2. 我尝试过 FindBin

    # for the libs present in ./abc/def/lib
    use FindBin;
    use lib "$FindBin::Bin/../../";
    use mylib::abc;
    use mylib::def;
    
    Run Code Online (Sandbox Code Playgroud)

(我尝试在 FindBin 中给出从哪里开始查找的根路径)

我尝试使用不同的组合,但不确定为什么它不起作用。有人可以指出我做错了什么或者我对 FindBin 的理解错误吗?

perl

5
推荐指数
1
解决办法
403
查看次数

标签 统计

perl ×1