68user's page 掲示板

Prev< No. 3129〜3130> Next  [最新発言に戻る] [過去ログ一覧]
No. 3129 # もも 2003/03/06 (木) 05:42:54
始めまして、いつもこちらでは陰ながら勉強させていtだいてます。
perlスクリプトのことでお教えください
ただ今企画中のスクリプトにおいて
外部コマンド実行時、そのコマンドプロセスの標準入力へ有る意味大量のデータ(文字列)を渡したいのです
しかしこの方法が全く頭に浮かばず情け無い状態であります!
PIPEやファイルシステムの基礎を知らない私にご教授下されば幸いです。

No. 3130 # 68user 2003/03/07 (金) 01:14:46
>>3129 もも
      open(OUT, "| command");
      print OUT "HOGEHOGEHOGEHOGEHOGEHOGEHOGE....";
      close(OUT);
ってことですか?

じゃなくて command の標準入力に渡しつつ、そのコマンドの
出力を受け取りたいなら IPC::Open2 などを使えばできます。
できますが、デッドロック回避などが面倒なので

      open(OUT, "| command > file");
      print OUT "HOGEHOGEHOGEHOGEHOGEHOGEHOGE....";
      close(OUT);
      open(IN, "< file");
      while (<IN>){
            ....
      }

でいーんではと思う軟弱な私。

Prev< No. 3129〜3130> Next  [最新発言に戻る] [過去ログ一覧]