質問: perl初心者です。 perlファイルで `while()`って何かまったくわかりません。 何ですかね?
回答: `STDIN` はファイルハンドルで、標準入力にアサインされています。 標準入力とは キーボードからの入力やパイプ(例:`cat sample.txt || perl test.pl`) や リダイレクト(例:`perl test.pl < sample.txt`)されたファイルのことです。 `` は、 `<ファイルハンドル>`で、指定されたファイルから一行を読込み、変数`$_`に暗黙に代入されます。 つまり、標準入力から一行読み込んで`$_`に内容を設定します。 `while()` は、 `while(条件)` で条件が失敗するまで繰り返します。 この場合標準入力が最後(キーボードの場合は`EOF` が(windowsの場合は`Ctrl`+`Z`, UNIX系の場合は`Ctrl`+`D`で)入力される)になるまで繰り返し入力します。 ちなみに `while()` は、`STDIN`を省略して`while(<>)` と書くことができます。(※コマンドライン引数に入力ファイル(複数可)が与えられなかった場合)