-1

別の受け渡しパラメータからperlスクリプトを実行する方法は?

インターネットの投稿で見つかった、もう見つからない解決策を使用しようとしています。
それは次のようなものでした:

do 'script.cgi param1 param2';

そして、他のスクリプトでは、単にシフトを使用してこれらのパラメーターを取得しています。

#Parameters
my $param1= shift;
my $param2= shift;

argsでシステムを使用している人を見ましたが、実際にはもっと良いですか?
そうでない場合は、「do EXPR」を使用してソリューションを修正するにはどうすればよいですか?
前もって感謝します。

4

2 に答える 2

1

まあ、私はやって解決しました:

{local @ARGV = (@my_args); do $script;}

できます。誰かより良い提案があれば、遠慮なく私に教えてください。
その間、私はこのソリューションを使用しています。

于 2012-09-06T11:03:44.640 に答える
0

実際には、私が考えることができる2つのより良い方法があります:

system($script, @my_args);

my $cmd = $script . ' ' . join(' ', @my_args);
my $return = `$cmd`;

どちらのソリューションも引数を に渡します@my_args。呼び出しは実行されたプログラムのsystem()終了コードを返しますが、バックティック ソリューション (``) は後で解析するために出力を返します。

于 2012-09-06T11:40:33.603 に答える