[プログラムでの利用]
C言語で入出力の説明で、標準入力から入力し、標準出力へ出力し、という説明を聞いたかと思います。
なぜ、キーボードから入力しとか、画面へ出力しではなかったのでしょうか。これは、C言語では、入力も出力もファイルなのです。
そしてそのファイルが、標準入力と標準出力なのです。そしてそれがデフォルトで、キーボードが標準入力、画面が標準出力になっているのです。
ファイルへの入出力と抽象化されているため、C言語(Unix)では非常にプログラムが作りやすくなっています。
同様にネットワークの入出力もファイルとして抽象化されています。そのため、Webから取得した情報も、ファイル操作として扱うことができます。
Perlを例に、Webから得た情報をファイルとして扱うためには以下のようにします。
open(IN, "http_proxy='http://プロキシーサーバ名' wget -O - -o /dev/null [URL]|");
このサンプルプログラムでは、INというファイル識別子を与えてファイルを開いています。
wgetにたくさんオプションが付いていますが。それぞれ以下のような意味です。
- 「-O -」取得した情報を指定されたファイル名に保存する。ここでは「-」という特殊なファイル名を指定している。「-」を指定すると、標準出力へ出力される
- 「-o /dev/null」情報を取得したときの実行結果は、標準エラーに出力される。この標準エラーの出力先を指定している。「/dev/null」は何も無い仮想のファイルで、ここに出力すると、出力結果が捨てられる
最後に「|」が付いているのを見落とさないでください。これで、wgetが出力した結果をパイプで、次のコマンドにつなげています。
この場合はファイル識別子INで、情報が取得できるようにしています。