
日記CGIをちょっと改造してイベント告知CGIとして利用したいと考えています。配布サイトに掲示板などのサポートが無かったのでこちらで質問させてください。
元となるCGIはOlive Designさんの「Simple Olive Diary2」です。
http://www.olive-design.com/~cgi/simple_diary2.h …
日記の場合、新しいものが一番上に来ますが、イベント告知の場合、先に書き込んだもの(今あっているもの)が一番上のほうが良いですよね。
で、それをどうにかしようと少ない知識を絞って考えたのですが、うまくいきません。
表示する方ではソートしている感じではないので、ログを逆順に保存しようかと考えました。
サブルーチン「regist」の下から3行目
unshift (@log,"$newdata");
を
push (@log,"$newdata");
としてみましたが、変化無しです。
他にも何か変える必要があるのでしょうか?
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
表示ロジックで小細工するなら、
while ($rt=<IN>){
の箇所を
@wk=<IN>;
for $rt (reverse(@wk)){
に変えてください。
記録ルーチンで小細工するなら、
変更された箇所の少し上にある最大記録数を超えたログの自動削除も
直さないとダメでしょうね。
従来が、先頭側に新、後方に旧データを保存する関係で、整理の対象を
最大記録件数を超えた後ろ全てとしているので。
(全部のロジックを読んでないので、他にもあるかも・・です)

No.1
- 回答日時:
似たような改造をするときにreverse関数というものを使いました。
お使いのCGIの文が解読できるスキルがないので自分の使ったのをそのまま書きますと、
open(DAT,"<bbs.log");
@alldat=<DAT>;
@reversedat=(reverse(@alldat));
みたいな感じになっています。
この回答への補足
返答ありがとうございます。これは、どこで利用したら良いのでしょうか?
表示部分?それとも書き込み部分?
書き込みだと、書き込むたびに逆になってしまうから意味が無いですよね?(この考えあってます?)
再度書き込みします。
とりあえず、表示部分に仕込んでみました。
open(IN,"$logfile") ;
@alldat=<IN>;
@reversedat=(reverse(@alldat));
#while ($rt=<@reversedat>){
こうすると、多分なのですが、半角空白でログを区切ってしまっているようで、何も表示しない行(記録)がいくつも出てきてしまいます。
何か解決方法はありますか?お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- その他(プログラミング・Web制作) robots.txtが”allow”のサイトを探しています 2 2022/10/09 13:07
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- 美術・アート トレパク疑惑をかけられにくくするには ここ最近いわゆるトレパク警察のいいがかりがが厳しくなったようで 1 2023/08/21 09:59
- Perl perlの構文でカンマの意味が分からない 2 2022/10/30 01:53
- CGI 一番簡単なCGI,掲示板の設置教えてください 4 2023/08/22 10:47
- Perl perlのrequireの動き方についての質問 2 2022/10/30 17:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
例外処理のフローチャートの記...
-
混合言語のデバッグ(VC++6.0,V...
-
CGI..pmをテストしようとすると...
-
サブルーチンに引数を2つ以上...
-
use strictを宣言してlocal変数...
-
プログラムの「生産性」について
-
COBOLで、Shellを起動するには?
-
CASLIIの問題
-
Attempt to free unreferenced ...
-
初歩的な質問なのですが、サブ...
-
単なる関数の集まりかオブジェ...
-
VBAで2重のDoLoop関数から抜け...
-
Inline CでOpenMPは使えますか?
-
サブルーチンを認識しません。
-
Excel VBAで、ユーザーフォー...
-
ExcelVBA AddinでOnAction
-
ユーザー定義関数に#NAME?が返...
-
初歩的な質問ですがよろしくお...
-
vba userFormのSubを標準モジュ...
-
モジュールとクラスの違いって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
例外処理のフローチャートの記...
-
Excel VBAで、ユーザーフォー...
-
モジュールとサブルーチン
-
オフコン(富士通Kシリーズ)...
-
COBOLで、Shellを起動するには?
-
配列と互換性のない型の要素に...
-
VBAで2重のDoLoop関数から抜け...
-
プログラムの「生産性」について
-
モジュール内でのサブルーチン...
-
ACCESSのVBAでPrivate Sub ~en...
-
ExcelVBA AddinでOnAction
-
VBAのサブルーチンとプロシージ...
-
サブルーチンやif分以外での中括弧
-
初歩的な質問なのですが、サブ...
-
エクセルVBAでサブルーチン...
-
Attempt to free unreferenced ...
-
GOSUB命令とは
-
フォートランのサブルーチンの...
-
”:”がいっぱいの文について。
-
初心者です。Perlではどんな時...
おすすめ情報