• 締切済み

CGIのログをHTMLで表示

CGIのログ(カウント)をHTMLにSSIで表示させようと思い下記のCGIを考えたのですがうまく表示されません。 皆様のお力をお貸し下さい! [log.dat] L内容 DataSu='***'; (***にはカウント数字が入っています) 上のカウントログをHTML表示させる為にCGIを作る [count.cgi] #!/usr/local/bin/perl #カウントログ読み込み open(IN,"ログまでの相対パス"); # カウンターを読み出す $count = <IN>; #ファイルを閉じる close(IN); #サイト数の表示。 print "Content-type: text/html\n\n"; print "$count"; 上記のCGIを表示させるとDataSu='***';とファイル内容が全て表示されてしまいます。 ***のカウント数だけ表示させるにはどうしたらいいのでしょうか?

みんなの回答

回答No.2

ログファイルが DataSa='***';  DataSb='***';  DataSu='***';  のように成っているのなら、取り合えず、、、 print "Content-type: text/html\n\n"; open(IN,"./a.txt"); while(<IN>) {if(/DataSu='([^']*)/){print $1;last;} } close(IN); __END__

I_Kazuaki
質問者

お礼

お礼の返事が遅れて申し訳ありませんでした。 見事に表示されるようになりました!

回答No.1

log.datファイルの「DataSu=」という文字列は何かに使用しているのでしょうか? 使用して無いなら数字だけにするのが一番かんたんな対処ですが。 # ふつうそういう目的のデータファイルは変数(この場合カウント数の数字)だけにする場合が多いと思いますが。収納するデータが複数あればこの限りではありませんが...

I_Kazuaki
質問者

お礼

lowrider_2005様 回答して頂き有難うございます。 収納するデータが複数あるようなのでカウント数だけにするのはむりなようです(T_T データ(カウント数)の文字をマッチさせ表示させる方法を考えているのですがうまくいきません。 複数の数字(カウント数)を / [0-9]* / でマッチさせ数字だけ抜き出せないでしょうか?

関連するQ&A