753 :
デフォルトの名無しさん:
すみませんが 質問させてください
あるファイル(数万行の数字データ)の上から1行ずつ順番に読み込んで
最終行になるとまた1行目に戻って・・・という作業をしたいのです
途中でプログラムを閉じて再開したときも次の行から開始が可能であれば
もう言うことナシですが,残念ながら自分では何とも出来ず
丸2日間ネット上で調べに調べ
srand();
open(FILE, "data.txt");
rand($.) < 1 and $line = $_ while <FILE>;
close(FILE);
$line =~ s/\n//g;
とランダムで1行読み込む仕様で妥協するのが限界でした
もし上記作業がperlで可能でしたら申し訳ないですが
教えていただけないでしょうか
可能な方いらっしゃいましたら どうかお願いします。
いつ終わるんだそれは
755 :
753:2007/05/23(水) 14:27:55
すみません
イカのような感じで半永久的に作業が続くわけでして・・・^^;
print <<"_HTML_";
Content-type: text/html
<html><head>
<meta http-equiv="refresh" content="5; url=aaa.cgi">
何行目まで読んだかどこかに書いとけばいいじゃん。
>>755の「イカ」がどっから出てくるのかがわからん。
とりあえずCGIは置いといて、まずファイルの入力の基本をググって調べればいいんじゃね
以下、だろ。
イカ=以下、がわからんじゃなくて
イカ=print <<・・、がどこから出て来たかわからん、ってことだよ
続きでなんか書こうとしてるんじゃないの?
>>759 以下のように、が、"<meta http-equiv="refresh" content="5; url=aaa.cgi">" を指してるんじゃないの?
大体、何を言わんとしてるかはわかる
762 :
753:2007/05/23(水) 14:56:30
わかんないヤツが説明すると伝わりにくいですね
すみません・・・
えーっと
5秒おきにaaa.cgiにアクセスしてIEの画面に数字を順番に
表示させたいだけなんです
753で書いた方法で $line の数値を表示させるだけと言えば
伝わりますかね・・・
webprogの所轄だが、行数をどこかに保存すればいいだけだろう?
CookieやURIのクエリ部分だとか、サーバ上のファイルとかメモリとか。
とりあえずWebProg板いってこいな
765 :
753:2007/05/23(水) 15:05:13
板違いでしたか すみません
どっちか悩んだあげくこっちに書いてしまいました
お邪魔しました
766 :
764:2007/05/23(水) 15:06:45
大体、数万行のテキストデータだとしてもかなりの容量になるだろ
対象マシンのメモリ可哀想だな。 しかも、IEがそのデータを表示仕切る前に
IE落ちるだろうし、表示仕切る前に5秒経って更新かかるだろうな。
しかも、更新しようにもかなりの負荷がかかってるからモッサリ。
ブラウザクラッシャーでも作ろうとしてるのか?
767 :
753:2007/05/23(水) 15:10:09
いえ 表示自体はその数万行のうち上から1行ずつでいいんです
1行目表示して5秒後には2行目・・・みたいな感じで。
順番に表示されるのを見て 手元のデータと比較していくだけの
単調な作業なんです