如何使用相当于 FindBin 的 Raku 在 Raku 中加载与脚本相关的模块
How do I load a module relative to script in Raku with Raku equivalent of FindBin
假设我在一个目录中有 2 个文件
p.pl
Mod.pm
在 perl5 中,我可以通过以下方式从 p.pl 加载模块 Mod.pm:
use FindBin qw($Bin);
use lib "$Bin";
...
use Mod;
我想知道 Raku
等价物是什么(如果文件是 p.raku 和 Mod.rakumod)?
我想要完成的是加载一个与脚本相关的模块。
- 我想在启动脚本之前不设置环境变量来执行。
- 我不想用 zef 安装模块。
- 我不想成为
强制将 cwd 设置为脚本目录,这意味着如果 p.raku 和 Mod.rakumod 在目录 d1 中,而目录 d1 又在目录 d0 中,我希望能够 运行
cd d0; rakudo d1/p.raku
以及 cd d1; rakudo p.raku
正如 ValleLukas 解释的那样:
use lib $*PROGRAM.dirname
use Mod;
可以使用。
假设我在一个目录中有 2 个文件
p.pl
Mod.pm
在 perl5 中,我可以通过以下方式从 p.pl 加载模块 Mod.pm:
use FindBin qw($Bin);
use lib "$Bin";
...
use Mod;
我想知道 Raku
等价物是什么(如果文件是 p.raku 和 Mod.rakumod)?
我想要完成的是加载一个与脚本相关的模块。
- 我想在启动脚本之前不设置环境变量来执行。
- 我不想用 zef 安装模块。
- 我不想成为
强制将 cwd 设置为脚本目录,这意味着如果 p.raku 和 Mod.rakumod 在目录 d1 中,而目录 d1 又在目录 d0 中,我希望能够 运行
cd d0; rakudo d1/p.raku
以及cd d1; rakudo p.raku
正如 ValleLukas 解释的那样:
use lib $*PROGRAM.dirname
use Mod;
可以使用。