2012-12-08 44 views
1

我正在使用一个perl程序,该程序将具有可变数量的参数/参数。基本上,我的Perl程序是由沿线的做一些运行:传递变量数量的参数以在perl脚本中运行

perl progam.pl hello, I am a simple statement 

程序做一些零碎的东西,但是这并不是我想要问这里很重要的。我想对"hello, I am a simple statement"部分进行的操作是将其传递给perl脚本中的echo函数。

虽然它应该可以处理任意数量的参数/参数。

任何想法?谢谢!

回答

6

当你执行shell命令

perl progam.pl hello, I am a simple statement 

它启动perl并将这些参数7到它:

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

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

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

或课程,这正是echo呢,所以你可以简单地做

system("echo", @ARGV); 

还是你的意思print当你说echo(因为它不会使很有意义执行echo)?

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

注意,这将是更好,如果你通过了文本作为一个参数。

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

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

+0

值得指出的是,它会失败,因为shell将删除空格,而不是因为Perl做的任何事情。 –

相关问题