これ何て呼びますか

1行飛ばして読み込みさせたくて、seek の代わりに
<IN>; と書いてみたんだけど、それで成功した
CGIもあれは、失敗したものもありました。
<IN>; と書く間違いですか?

A 回答 (4件)

いわゆる「1行読み捨て」ならば、


  <IN>;
でOKです。
(「scalar(<IN>);」でもOKなのですが、タイプが面倒なので私は書きません。)
ちなみに shift は引数に配列を期待するので、
  shift(<IN>);
だとエラーになるはずです。

そもそも、(概念的な)テキストデータ処理で seek は使いません。
seek は、フォーマットが分かっているデータや、固定長のレコードデータなどに用います。
<IN> では \n までを読み込みますが、seek が使われているということは、データの区切りに \n は使われていないのではないでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
<IN>; でOKなんですね。
他の部分で $_ を使っていたから、
$xx = <IN>; なら成功するのに <IN>; なら失敗していた
ということが分かりました。

お礼日時:2002/05/10 01:46

単に,



$dummy = <IN>;

などとして,$dummyを使わなければいいのでは?

#while (<IN>)
#なんていうのは,意味的には
#while (($_ = <IN>) ne '')
#の省略形なんだけど…。
    • good
    • 0

scalar(<IN>); かなぁと思います。

    • good
    • 0

<IN>;はやったことがないので何とも…ですが、


一行読み飛ばすなら
shift(<IN>);
で良いのでは?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!