ファイルの一行目を読み飛ばすには??
[上に]
[前に]
[次に]
■
1999/06/04(金) 03:59:38
#!/usr/bin/perl
$subjectfile = './bbs.dat';
open(DATA,$subjectfile);
while (<DATA>){
chop;
($date,$fname,$email,$value,$subject,$res,$cnt) = split(/,/);
print "$subject\n";
last if ++$i>=20;}
close(DATA);
というスクリプトなのですが、これを改造してログの一行目を
読まないようにしたいです。
@lines = <DATA>;
とやってログを全部読み込んでから
shift(@lines);
とすればいけそうなのですが、これだとメモリ食っちゃうとの事なので
なにか良い方法があれば教えてください。
B-Cus
1999/06/04(金) 04:29:28
案1:
open(IN,"hoge");
<IN>;
while (<IN>){
案2: 案1の書き方が気持ち悪ければこちらをどうぞ。ソース読む人にとっても、
$dummyに代入というのはわかりやすいかも。
open(IN,"hoge");
$dummy = <IN>;
while (<IN>){
案3: フラグを使う。既にカウンタとして $iを使ってるから、
それと統合するのがいいかもね。
open(IN,"hoge");
$flg = 1;
while (<IN>){
next unless $i++;
B-Cus
1999/06/04(金) 04:33:18
ごめん。案3は
> $flg = 1;
$i=0 ね。
■
1999/06/04(金) 12:05:01
[[解決]]
ありがとうございます!
案1をいただきました!
[上に]
[前に]
[次に]