私は、Perl(Linux上で動作しています)からプロセスのパイプラインをセットアップしたい、別々の時間に実行される2つの部分から成り立っています。あるファイルハンドルの出力を別のファイルハンドルにリダイレクトするにはどうしたらいいですか?
例:
スタートコンシューマー・プロセス:
open(OUT, "| tar xvf - ") || die "Failed: tar: $!";
その後、ずっと後の生産プロセスの開始:
open(IN, "gpg -d $file |") || die "Failed: gpg: $!";
をが、その後何とかタールへの入力にGPGからの出力をリダイレクト。
私はループを構築することにより、これを行うことができます。
while (<IN>) {
print OUT;
}
しかし、私は何とかリダイレクトと一緒に二つのプロセスを接着できるかどうかを知りたいと思います。
「または」 '||'の代わりに? 'または'は他の演算子よりも優先順位が低いので、関数内のかっこを切り捨てると、 'または'は同じ働きをしますが、 '||'関数の引数をオーバーライドし始めます。これはまれにしか必要としません。プラス、それはちょうど(私に)よりよく見えます。 –