我正在使用一个 perl 程序,该程序将具有可变数量的参数/参数。基本上,我的 perl 程序是通过以下方式运行的:
perl progam.pl hello, I am a simple statement
该程序做了一些零碎的事情,但这对于我在这里要问的问题并不重要。我想要对这"hello, I am a simple statement"部分做的是将其传递给 perl 脚本中的 echo 函数。
虽然它应该适用于任意数量的参数/参数。
有任何想法吗?谢谢!
我正在使用一个 perl 程序,该程序将具有可变数量的参数/参数。基本上,我的 perl 程序是通过以下方式运行的:
perl progam.pl hello, I am a simple statement
该程序做了一些零碎的事情,但这对于我在这里要问的问题并不重要。我想要对这"hello, I am a simple statement"部分做的是将其传递给 perl 脚本中的 echo 函数。
虽然它应该适用于任意数量的参数/参数。
有任何想法吗?谢谢!
当你执行 shell 命令时
perl progam.pl hello, I am a simple statement
它启动perl并将这 7 个参数传递给它:
progam.plhello,Iamasimplestatementperl反过来,将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'
例如,如果某些单词之间有多个空格,则您的方法将失败。