gpt4 book ai didi

perl - 获取当前进程的 perl 可执行文件的绝对路径

转载 作者:行者123 更新时间:2023-12-01 21:58:15 27 4
gpt4 key购买 nike

有没有办法获得当前进程的 Perl 可执行文件的绝对路径?
$^X会给我 Perl 可执行文件名称,但文档指出它有时会是一个相对路径,例如在 OS X 上这似乎是正确的。
ExtUtils::MakeMaker似乎有一些魔法来找到绝对路径,因为它在我的 OS X 上生成的 Makefile 包含

PERL = /usr/local/bin/perl
FULLPERL = /usr/local/bin/perl

但我不知道它是如何做到这一点的,或者其他人是否可以轻松获得这种魔法。

编辑:感谢鲍罗丁的 $Config{perlpath}提示。在 ExtUtils 中寻找此问题, 我在 ExtUtils::MM_Unix::_fixin_replace_shebang 中发现了这个花絮,我猜是 MakeMaker 用来代替 #!perl 的使用正确的shebang线。

if ( $Config{startperl} =~ m,^\#!.*/perl, ) {
$interpreter = $Config{startperl};
$interpreter =~ s,^\#!,,;
}
else {
$interpreter = $Config{perlpath};
}

最佳答案

我想你要找的是 $Config{perlpath} .

如果您希望您的代码非常可移植,您可能必须将文件类型附加到该值;这在 perlport 中有描述文档。否则你只需要这个:

use Config;
my $perl = $Config{perlpath};

关于perl - 获取当前进程的 perl 可执行文件的绝对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390173/

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