相关疑难解决方法(0)

如何在Perl脚本中运行Perl脚本?

我有一个需要执行另一个Perl脚本的Perl脚本.第二个脚本可以直接在命令行上执行,但我需要在第一个程序中执行它.我需要传递一些参数,这些参数通常在它独立运行时传递(第一个脚本定期运行,并在一组系统条件下执行第二个脚本).

Google的初步搜索建议使用反引号或system()调用.有没有其他方法来运行它?(我猜是的,因为它是我们正在讨论的Perl:P)如果我需要从被调用的程序中捕获输出,那么首选哪种方法(如果可能的话,将输出管道输出到stdout,就像第二次一样程序被直接调用)?

(编辑:哦,现在 SO提出了一些相关问题.这个问题很接近,但与我提出的问题并不完全相同.第二个程序可能需要一个小时或更长时间才能运行(大量I/O),所以我不确定一次性调用是否适合这种情况.)

perl ipc

25
推荐指数
7
解决办法
8万
查看次数

我可以使用来自另一个perl脚本中间的系统调用从perl脚本获取值吗?

我正在尝试修改其他人编写的脚本,我想让我的脚本与他的脚本分开.

我写的脚本以print一行输出,该行输出由空格分隔的所有相关数据.

例如: print "$sap $stuff $more_stuff";

我想在另一个perl脚本的中间使用这些数据,我不确定是否可以使用系统调用我写的脚本.

例如: system("./sap_calc.pl $id"); #obtain printed data from sap_calc.pl here

可以这样做吗?如果没有,我该怎么办呢?


有点相关,但没有使用system():

如何让一个Perl脚本在另一个Perl脚本中查看变量?

如何将参数从一个Perl脚本传递给另一个?

perl stdin arguments stdout parameter-passing

1
推荐指数
1
解决办法
200
查看次数

如何从perl脚本运行"source"命令(Linux)?

我正在尝试source从Perl脚本(script.pl)编写脚本.

system ("source /some/generic/script");
Run Code Online (Sandbox Code Playgroud)

请注意,此通用脚本可以是shell,python或任何其他脚本.此外,我无法将此通用脚本中的逻辑复制到我的Perl脚本中.我试着替换system`` exec,和qx//.每次我收到以下错误:

不能执行"source":script.pl第18行没有这样的文件或目录.

我在互联网上遇到了很多论坛,讨论了这个问题的各种原因.但他们都没有提供解决方案.有没有办法source从Perl脚本运行/执行命令?

linux bash shell perl

1
推荐指数
2
解决办法
3011
查看次数

标签 统计

perl ×3

arguments ×1

bash ×1

ipc ×1

linux ×1

parameter-passing ×1

shell ×1

stdin ×1

stdout ×1