1

可変数の引数/パラメーターを持つ perl プログラムを使用しています。基本的に、私の perl プログラムは、次の行に沿って何かを実行することによって実行されます。

perl progam.pl hello, I am a simple statement

プログラムはいくつかのオッズとエンドを行いますが、それは私がここで尋ねようとしていることにとって重要ではありません. この部分でやりたいことは、"hello, I am a simple statement"それを perl スクリプト内の echo 関数に渡すことです。

ただし、任意の数の引数/パラメーターで機能するはずです。

何か案は?ありがとうございました!

4

1 に答える 1

6

シェルコマンドを実行すると

perl progam.pl hello, I am a simple statement

次の 7 つの引数を起動perlして渡します。

  • 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 に答える