システム コマンドを実行していて、(1) システム コマンドの STDIN をプリロードし、(2) コマンドから STDOUT をキャプチャしたいと考えています。
ここで私はこれを行うことができます:
open(SPLAT, "stuff") || die "can't open stuff: $!";
open(STDIN, "<&SPLAT") || die "can't dupe SPLAT: $!";
print STDOUT `sort`;
これは、現在定義されている STDIN をソートの STDIN として使用します。ファイルにデータがある場合は素晴らしいですが、変数にデータがあります。システム コマンドを実行する前に、変数の内容を STDIN にロードする方法はありますか? 何かのようなもの:
open(STDIN, "<$myvariable"); # I know this syntax is not right, but you get the idea
print STDOUT `sort`;
これは、一時ファイルを使用せずに実行できますか? また、私は Windows を使用しているため、Open2 は推奨されていないと聞きました。
ありがとう。