1

我正在使用一个 perl 程序,该程序将具有可变数量的参数/参数。基本上,我的 perl 程序是通过以下方式运行的:

perl progam.pl hello, I am a simple statement

该程序做了一些零碎的事情,但这对于我在这里要问的问题并不重要。我想要对这"hello, I am a simple statement"部分做的是将其传递给 perl 脚本中的 echo 函数。

虽然它应该适用于任意数量的参数/参数。

有任何想法吗?谢谢!

4

1 回答 1

6

当你执行 shell 命令时

perl progam.pl hello, I am a simple statement

它启动perl并将这 7 个参数传递给它:

  • progam.pl
  • hello,
  • I
  • am
  • a
  • simple
  • statement

perl反过来,将progam.pl在填充@ARGV其他参数后执行。因此,你可以这样做

system("echo", join(" ", @ARGV));

或者当然,这正是这样echo做的,所以你可以简单地做

system("echo", @ARGV);

或者你的意思是print当你说的时候echo(因为执行它没有多大意义echo)?

print(join(" ", @ARGV), "\n");

请注意,如果您将文本作为单个参数传递会更好。

perl progam.pl 'hello, I am a simple statement'

例如,如果某些单词之间有多个空格,则您的方法将失败。

于 2012-12-08T06:41:58.737 回答