システムを使用して、次のような外部コマンドのパイプを実行する Perl スクリプトに取り組んでいます。
system( "command1 | command2 | command3 > outfile" );
ここで、これらすべてのコマンドの STDERR を 1 つのファイルにキャプチャしたいと考えています。これは OS X で動作します:
system( "command1 2> error.log | command2 2> error.log | command3 2> error.log > outfile" );
しかし、エラーが発生するWindowsではそうではありません:
「別のプロセスで使用されているため、プロセスはファイルにアクセスできません」
回避策はありますか?これを移植可能にする必要があるため、可能であればモジュールを避けたいと思います。前もって感謝します。