小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

Perlでパイプオープン

Perlでは、ファイルアクセスと同様な感じでパイプにアクセスができます。
ここで云うパイプとは、標準入出力のデータが流れ込むパイプです。
つまり、標準入出力のデータをあたかもファイルからのデータとして扱えるのです。

  • パイプ出力用でオープン open (OUT, "| コマンド")
  • パイプ入力用でオープン open (IN, "コマンド |")
コマンドからパイプ入力用にオープン
open(IN,"ls -l |");
@cmd = ;
close(IN);

foreach $cmd (@cmd) {
     print "$cmd \n";
} 
<解説>
ls -l (カレントディレクトリ内のファイル名を取得) というコマンド
を実行し、その結果を配列@cmdに格納し、表示する。  


コマンドへパイプ出力用にオープン
open(OUT,"| /usr/sbin/sendmail");
print OUT "HELO \n";
close(OUT); 

<解説>
sendmailへ HELOコマンドを出力。  
http://www.kent-web.com/perl/chap6.html