gpt4 book ai didi

perl - 如何在Perl程序中动态添加程序的库路径到@INC?

转载 作者:行者123 更新时间:2023-12-02 00:27:14 25 4
gpt4 key购买 nike

我正在开发一个用 Perl 编写的应用程序。现在应用程序太大了,我想将每个类移到一个单独的文件中。这个复杂的构建和安装程序;当它只是文件时,它可以轻松地复制到任何地方。现在我必须使用像 Build::Module 这样的构建系统或ExtUtils::MakeMaker .

我已经构建了我的源代码树,以便有两个目录:bin程序启动器在哪里,以及 lib其中有许多模块。 Bin包含用户调用的可执行 Perl 脚本,它从 lib 目录加载必要的模块。

我遇到的问题是我希望用户能够在他们想要安装程序的位置指定一个前缀,类似于 --prefix基于 GNU Autotools 的软件包提供的选项。由于这可能不是 Perl 查找模块的标准路径(例如/opt/program),因此用户将看到类似 Can't locate Program.pm in @INC 的消息。 .

有没有办法让程序检测应该从哪里加载模块并动态将该路径添加到 @INC ?我不希望用户必须手动使用环境变量,例如 PERL5LIB为了让程序运行。

最佳答案

你不能使用 findbinlib ?:

use FindBin qw($Bin);
use lib "$Bin/lib";

关于perl - 如何在Perl程序中动态添加程序的库路径到@INC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234356/

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