09/03/14 12:27:16
>>315
先ず先に<>はSTDINとARGV両方を示す事を理解しろ。
プログラム引数に何か渡されたら、< であろうが、ARGVとして扱われ、
ARGVがあれば、暗黙のうちに<>は<ARGV>として挙動する。
従って
====
while(<>){ print "ARGV: $_" }
while( ($_=<>) !~/^$/ ){ print "STDIN: $_"}
====
をhoge.plとして保存して以下の様に実行した場合、
perl hoge.pl < hoge.pl
は、ARGVの中身を全てプリントした後にSTDINの処理をする
(STDIN処理は、何も入力せずにreturnで終了)。
外部ファイルにシグナルを入れて流し込むのが仮に可能だと
しても、それをどのタイミングで使うかは書き手に任される訳だから、
素直に終了フラグを立てるのが普通では無いの?