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

2 parameters perl command-line

我有一个运行的脚本,运行后它有一些信息需要传递给下一个要运行的脚本.

Unix/DOS命令是这样的:

perl -x -s param_send.pl
perl -x -s param_receive.pl
Run Code Online (Sandbox Code Playgroud)

param_send.pl是:

# Send param

my $send_var = "This is a variable in param_send.pl...\n";
$ARGV[0] = $send_var;
print "Argument: $ARGV[0]\n";
Run Code Online (Sandbox Code Playgroud)

param_receive.pl是:

# Receive param

my $receive_var = $ARGV[0];
print "Parameter received: $receive_var";
Run Code Online (Sandbox Code Playgroud)

但没有任何印刷品.我知道我做错了但是从教程中我无法弄清楚如何将一个参数从一个脚本传递给下一个脚本!

提前谢谢了.

Pow*_*ord 8

您可以在命令行上使用管道字符将stdout从第一个程序连接到第二个程序的stdin,然后您可以将其写入(使用print)或读取(使用<>运算符).

perl param_send.pl | perl param_receive.pl
Run Code Online (Sandbox Code Playgroud)

如果希望第一个命令的输出是第二个命令的参数,则可以使用xargs:

perl param_send.pl | xargs perl param_receive.pl
Run Code Online (Sandbox Code Playgroud)