gpt4 book ai didi

perl - 我可以访问 mac os x automator 中的 __DATA__ 部分吗

转载 作者:行者123 更新时间:2023-12-01 05:58:17 32 4
gpt4 key购买 nike

我正在尝试在自动程序内部运行的 perl 脚本中使用 __DATA__ 部分。

当作为 shell 脚本运行时一切正常,但在 automator 内部数据部分看起来是空的。

关于原因的任何想法,以及比拥有巨大的“此处”文件更好的解决方法?

编辑

示例脚本

use strict;
use warnings;
while(<DATA>){
print $_;
}
__DATA__
line1
line2
line3

最佳答案

Automator.app 运行您的脚本

/usr/bin/perl -e 'your script here' --

因此 __DATA__ 句柄不起作用。


编辑如何确定

  • Automator.app 根据定义 /usr/bin/perl 运行,因此:
  • /usr/bin/perl 重命名为 /usr/bin/perl_ORIG
  • 在其位置添加了另一个 perl 脚本(其他 perl),+ chmod 755
#!/opt/local/bin/perl
use strict;
use warnings;

my $n = 0;
print "$0\n";
for my $arg (@ARGV) {
print "$n:[$arg]\n";
$n++;
}
  • 在 Automator 中运行原始脚本
  • 在输出中,伪造的“perl”准确显示了 --
  • 之前的所有参数

不是很好(也不正确)- 但有助于发现 Automator 如何运行脚本,例如它使用 -e(小写),script content + --

此外,tell DATA 在 Automator 中返回 0,在普通脚本中它返回文件中的真实位置。 (见 Borodin 的评论)

关于perl - 我可以访问 mac os x automator 中的 __DATA__ 部分吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31262316/

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