作者: ねこ丸
日時: 2003/12/17(00:53)
 ねこ丸です。

References: <200312111208.hBBC8KoX013043@...>
nobu.nakada@... さん writes
In 「[TSabc:331] Re: 今さら STDIN」

> Enterで終了しましたが。
> 
> $ perl -e 'print "ok? "; $a = <STDIN>; print $a'
> ok? y
> y

  これはその後簡単なテストプログラムではこういう動作になりました。
  が、件のプログラムではやはり Ctrl + D が必要なので追跡したいと思います。


> STDINはその名の通り標準入力ですから、スクリプトへの引数とは無関
> 係です。

  ですね。
  Perl で while ( <STDIN> ) と書いても同じ動作でした。
  考えたら

  cat file | perl script.pl

  としなければ標準入力から読み込むことにはならないのですから、ここは完全
に勘違いしてました。単にフィルタ系の動作に都合のいいようによきに計らって
くれていたのでした。

  当たり前だと思い込んでいるとダメだなぁと今日も思ったことがありまして、
実は Perl に switch 文がないこともすっかり忘れていました。実際には 
switch を使わない書き方が身に染みているのでまったく困らないのですが、そ
う言えばなんで自分は switch を避けているのかがまったく思い出せなかったと
いう。。。

--
    ねこ丸