| りゅういちさん、こんにちわ。 度々お世話になっております。 いつも丁寧なご指導を頂けまして、私のように素人でも 充分に理解する事が出来、また勉強にもなり大変ありがたく思っております。
今回もまた、お知恵をお貸し頂きたく思いまして参りました。 度重なる質問で申し訳ございません。
今まで、I-BOARD 2001 のログから、 題名や名前など必要部分を取り出して、JsでHTML上に書き出すCGIを使っておりました。 ※以前こちらでサポートされていた方が作られた物を多少いじった物です I-BOARD 2001 のログは、単純に「<>」でのみ区切られているので、 splitで<>として、必要データを取り出してJsに書き出していました。
Child Tree のログなのですが… <>以外に、「:」や「|」などが利用されていて、 今までのままのスクリプトが通用しなくなりました(当たり前ですが…)。
本当に初歩的な事を伺っているのかもしれませんが… Child Tree ログの名前($name)や題名($d_may)を取り出すのは簡単なのですが $sel や $txt が取り出す事が出来ません。 ※つまりは、:や|の中に入っているデータだと思います
以前のスクリプトは以下のような感じです。 ※短い物なので、直接貼り付けしてしまいましたが、 ご迷惑となりましたら編集で削除して頂いても構いません。 お手数お掛けします。 Child Tree のログで再現する事は可能でしょうか…。 まず今の所私の力量で、chopで並べる要素も曖昧です…。 ※PerlはVer.は5なので、chompじゃなくても動作します
大変お手数では有りますが、アドバイス的な事でも構いません。 こちらでは当然テストしながら試行錯誤致しますので、 何かしらご指南頂けると幸いです。
お忙しいところすみません、宜しくお願い致します。
▼I-BOARD2001 での使用時のものです。 最新ログから必要部分を3件書き出すようにしています
@disp=(); open(FILE,"<掲示板ログ.dat"); for(1..3){ $_=<FILE>; chop; ($n,$date,$name,$email,$title,$comment,$http,$color1,$color2,$icon,$no,$host,$ip)=split("<>",$_); push(@disp,"$date<>$name<>$n<>$title"); } close(FILE);
open(FILE,">date.js"); print FILE "document.open();"; foreach $i (@disp) { ($date,$name,$n,$title)=split("<>",$i); $d=substr($date,5,5); print FILE<<END; document.write('$d [$name]$title'); END } print FILE "document.close();"; close(FILE);
# 透過PNGを定義 @spriteblank=(137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,1,3,0,0,0,37,219,86,202,0,0,0,32,116,112,78,103,71,76,68,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,77,30,174,0,0,0,6,80,76,84,69,0,0,0,255,255,255,165,217,159,221,0,0,0,1,98,75,71,68,0,136,5,29,72,0,0,0,1,116,82,78,83,0,64,230,216,102,0,0,0,10,73,68,65,84,120,218,99,96,0,0,0,2,0,1,229,39,222,252,0,0,0,0,73,69,78,68,174,66,96,130);
# 透過PNG表示 print "Content-type: image/png\n\n"; foreach (@spriteblank) { $data = pack('C*',$_); print $data; }
exit;
|