gpt4 book ai didi

perl - 如何在qx中使用__FILE__?

转载 作者:行者123 更新时间:2023-12-03 03:44:41 25 4
gpt4 key购买 nike

我试图在 Perl 脚本的顶部分配一个常量,如下所示:

use constant {
# ...
CONSTNAME => qx{readlink -e __FILE__} || __FILE__,
# ...
};

__FILE__ 不会在 qx 运算符内进行插值,这会导致此操作失败。我怎样才能实现我想要的,即在调用 shell 的 readlink 之前插入 __FILE__

请注意:不能将命令存储在中间变量中。

最佳答案

要直接回答这个问题,您可以使用 perlref 中描述的 interpolate- Arbitary-Expression-in-string 习惯用法。 :

print qx{echo @{[ __FILE__ ]}};

评论中提出了一些注意事项:

  • [] 提供列表上下文。这在这里并不重要,但总的来说值得注意。
  • 如果 __FILE__ 具有 shell 元字符,您可能会遇到麻烦。

如果您的目标是找到已解析所有符号链接(symbolic link)的 Perl 脚本的路径,您可能需要查看 FindBin moduleFindBin 成为核心 Perl 发行版的一部分已经有一段时间了(至少从 5.004 起,根据 http://search.cpan.org/~chips/perl5.004/ )。

关于perl - 如何在qx中使用__FILE__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874037/

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