0

私は perl で 3 つの小さなプログラムを書きました。Program1.pl、次に Program2.pl (Program1.pl によって生成された出力を入力として使用)、次に Program3.pl (Program2.pl によって生成された出力を入力として使用) があります。

ここで、3 つのプログラムすべてを「呼び出す」プログラムを書きたいので、ユーザーは MainProgram.pl という 1 つのプログラムだけを実行する必要があります。

どうすればこれを行うことができますか?

前もって感謝します!:)

4

4 に答える 4

3

組み合わせて何を意味するかによりますが、これができる場合、たとえば、パイプを作成します。

open(PIPE, "perl Program1.pl | perl Program2.pl | perl Prograp3.pl |") or die "can't create pipe: $!";
while(<PIPE>){
  print;
}
于 2012-07-01T15:16:20.877 に答える
0

ここには少し設計上の問題があるようです。あるスクリプトを別のスクリプトにパイプしてから別のスクリプトにパイプするのではなく、サブからサブにデータを渡したり、OO 構造を使用したりすることは理にかなっています。

于 2012-07-01T15:17:48.627 に答える
0

人間が「Output[n]」ファイルを必要としない限り、結果を配列にプッシュし、後続のステップで配列をハッシュに読み取るだけで済みます。これは、アイテムの数がメモリに収まる場合にのみ機能します。ギガバイト単位のデータを処理している場合は、中間ファイルが必要になることがあります。

push は配列演算子です。

複数の出力があり、出力に複数の条件があるため、パイプをすぐに使用することはできません。

于 2012-07-02T17:42:21.253 に答える