我正在使用一个 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.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'
例如,如果某些单词之间有多个空格,则您的方法将失败。