将可变数量的参数传递给perl脚本中的函数

时间:2012-12-08 06:01:47

标签: perl

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

perl progam.pl hello, I am a simple statement

程序做了一些可能性和结束,但这对我在这里要问的内容并不重要。我想用"hello, I am a simple statement"部分做的是将它传递给perl脚本中的echo函数。

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

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分: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'

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