-前スレッド http://tako.2ch.net/test/read.cgi?bbs=perl&key=959378033&ls=50
-PHP版 http://corn.2ch.net/test/read.cgi?bbs=php&key=982779383&ls=50
今のところのまとめ。
■ほういち氏
▽サンプル掲示板
http://www13.big.or.jp/~bell/nanashi/perl/
▽ソースコード
http://www13.big.or.jp/~bell/cgi-bin/files/
http://xbbs21.virtualave.net/xbbs/up/src/up010.lzh
■347氏
▽サンプル掲示板
http://takotubo.virtualave.net/bin/board.cgi
▽ソースコード
http://xbbs21.virtualave.net/xbbs/up/src/up022.lzh
■570氏
▽サンプル掲示板
http://maasa.antique.to/2ch/sample/index.html
■panton氏
▽ソースコード
http://www.panton.f2s.com/bbs/lib/IndexedFile.html
http://www.panton.f2s.com/bbs/lib/IndexedFile.pm.txt
【Perl】掲示板を使ろう!
1名無しさん@お腹いっぱい。
2001/05/03(木) 20:56ID:lB9ErFH.2001/05/03(木) 21:58ID:???
弐編氏はどうした(ワラ
2001/05/03(木) 22:42ID:???
ども。
俺のは下のURLに変えているので、
http://www.panton.f2s.com/bbs/lib/IndexedFile.pm
訂正させてください。
一応説明させていただくと、
データファイルの高速ランダムアクセスを、
インデックスファイルにより実現するモジュールです。
データの要素にはハッシュが格納できます。
構想中のBBSシステム用に作った物ですが、汎用のモジュールなので、
使ってみてバグを見つけてくれるとうれしい。
俺のは下のURLに変えているので、
http://www.panton.f2s.com/bbs/lib/IndexedFile.pm
訂正させてください。
一応説明させていただくと、
データファイルの高速ランダムアクセスを、
インデックスファイルにより実現するモジュールです。
データの要素にはハッシュが格納できます。
構想中のBBSシステム用に作った物ですが、汎用のモジュールなので、
使ってみてバグを見つけてくれるとうれしい。
2001/05/03(木) 23:23ID:???
暇だからpanton氏のも試してみるかな。
347氏もそろそろハンドルを名乗るのがいいと思われ。
ほういちさんの所は止まってるなあ・・・
570氏のはどうだろう・・・・
gunzipさん最近見かけないな。病院が忙しいのかな?
347氏もそろそろハンドルを名乗るのがいいと思われ。
ほういちさんの所は止まってるなあ・・・
570氏のはどうだろう・・・・
gunzipさん最近見かけないな。病院が忙しいのかな?
2001/05/03(木) 23:34ID:???
2001/05/04(金) 01:03ID:???
使るに突っ込んでいい?
2001/05/04(金) 02:44ID:???
>>6
使る?
使る?
2001/05/04(金) 05:45ID:???
「作ろう!」だな・・・・
一体どんな打ち間違いをしたのか・・・
一体どんな打ち間違いをしたのか・・・
91
2001/05/04(金) 08:20ID:??? 。。。。。。。コピペしたから気付かなかった。。。。。。
2001/05/04(金) 23:12ID:???
誰もいないの?
2001/05/04(金) 23:26ID:???
2001/05/07(月) 06:04ID:???
■■■■■■■□□□□□□□□□□□□□□□□□□□
0 20 40 60 80 100
■終わった
-IxAccessFile.pm (ログ、スレッド管理の入出力関係用)
-Article.pm (各投稿記事用クラス)
-post.cgi (1スレッド用・・・極めていいかげん)
-rm.cgi (投稿者/管理者記事削除)
□手を付けてない
-投稿制限 #後回し
-記事訂正 #コレは簡単
-admin.cgi (そのまま) #面倒くさい
-setup.cgi (そのまま) #たぶん要らない
-post.cgi (複数スレッド用) #時間無い
▽あるといいな(なくてもいいな)
Storable or FreezeThaw or Data::Dumper
▽気が向けば
-tmpl_parse.pl (テンプレートファイルからコードを書かせ・・・たいなあ)
#コメント
入出力関係のは出来ているので(一応)、後は割とラクダと思う。
GW殆ど(というか全く)休めず、時間が全くとれないので捗らん(ぐは)
0 20 40 60 80 100
■終わった
-IxAccessFile.pm (ログ、スレッド管理の入出力関係用)
-Article.pm (各投稿記事用クラス)
-post.cgi (1スレッド用・・・極めていいかげん)
-rm.cgi (投稿者/管理者記事削除)
□手を付けてない
-投稿制限 #後回し
-記事訂正 #コレは簡単
-admin.cgi (そのまま) #面倒くさい
-setup.cgi (そのまま) #たぶん要らない
-post.cgi (複数スレッド用) #時間無い
▽あるといいな(なくてもいいな)
Storable or FreezeThaw or Data::Dumper
▽気が向けば
-tmpl_parse.pl (テンプレートファイルからコードを書かせ・・・たいなあ)
#コメント
入出力関係のは出来ているので(一応)、後は割とラクダと思う。
GW殆ど(というか全く)休めず、時間が全くとれないので捗らん(ぐは)
2001/05/07(月) 06:13ID:???
>>panton氏
=line 248
>my $pointer = $self->_getpointer($id);
この部分は不要ですよね。既に$idからファイル内の位置が得られているのですから。
----------
あと、ドキュメントのBUGSとTODOに記載されている各項について
("バリューに改行が入っているデータは扱えない。"・・・とか)
何か書こうかと思ったけれど・・・ちょっと後回しにします。
#「配列、スカラーへの対応」とかはどうするのかなあ・・・と興味が。
=line 248
>my $pointer = $self->_getpointer($id);
この部分は不要ですよね。既に$idからファイル内の位置が得られているのですから。
----------
あと、ドキュメントのBUGSとTODOに記載されている各項について
("バリューに改行が入っているデータは扱えない。"・・・とか)
何か書こうかと思ったけれど・・・ちょっと後回しにします。
#「配列、スカラーへの対応」とかはどうするのかなあ・・・と興味が。
2001/05/07(月) 06:17ID:???
248->253 だな。はぁ
2001/05/07(月) 06:28ID:???
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,・∀・) < あんまり無理するなよ
〜(___ノ \_______________
2001/05/07(月) 17:13ID:???
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,・∀・) < 楽しみに待ってるぞ >>all
〜(___ノ \_______________
2001/05/09(水) 20:46ID:???
みんな死んでる...........................................
2001/05/09(水) 20:47ID:???
0
23panton
2001/05/09(水) 22:30ID:??? >>17 _gunzip氏
(248行目でしたが・・)確かにそうですね。修正します。
> ("バリューに改行が入っているデータは扱えない。"・・・とか)
> 何か書こうかと思ったけれど・・・ちょっと後回しにします。
> #「配列、スカラーへの対応」とかはどうするのかなあ・・・と興味が。
うーん、考えどころです。
StorableとかFreezeThawとか使っちゃえば、必然的にそこらへん
全て解決するし、もっと言えば、メッセージオブジェクトとか
突っ込んじゃえばさらに楽だよなぁ・・・とか。
(248行目でしたが・・)確かにそうですね。修正します。
> ("バリューに改行が入っているデータは扱えない。"・・・とか)
> 何か書こうかと思ったけれど・・・ちょっと後回しにします。
> #「配列、スカラーへの対応」とかはどうするのかなあ・・・と興味が。
うーん、考えどころです。
StorableとかFreezeThawとか使っちゃえば、必然的にそこらへん
全て解決するし、もっと言えば、メッセージオブジェクトとか
突っ込んじゃえばさらに楽だよなぁ・・・とか。
2001/05/10(木) 17:06ID:???
皆さん忙しいんでしょうね
25age
2001/05/18(金) 18:49ID:??? age
2001/05/19(土) 09:58ID:???
そして誰もいなくなった
27age
2001/05/22(火) 17:48ID:VQJfqVeI age
2001/06/01(金) 16:13ID:???
終わっちゃダメェ!!!!
2001/06/02(土) 07:33ID:???
長らくご愛顧頂き誠にありがとうございました。
===========終了===========
===========終了===========
2001/06/07(木) 14:41ID:???
>>29 age
2001/06/07(木) 15:35ID:???
気を取り直して
=======================再開============================
=======================再開============================
2001/06/07(木) 16:01ID:???
特に2ch型とかにしなくてもいいから、とりあえず基本中の基本、
みたいなシンプルなヤツを誰か書いてくれんだろうか…
Perl上手い人ほど、わざわざシンプルなのって書かないんだよね。
みたいなシンプルなヤツを誰か書いてくれんだろうか…
Perl上手い人ほど、わざわざシンプルなのって書かないんだよね。
2001/06/07(木) 16:28ID:???
いつぞやの七行BBS
#!/usr/local/bin/perl
%f=map{tr/+/ /;s/%(..)/pack("H2",$1)/eg;s/</&</;s/>/&>/;$_}split/[&=]/,
$ENV{QUERY_STRING};$f{n}||="名無し";open F,"+<bbs.dat";flock F,2;$e=
"$f{n} &>$f{m}<BR>\n"if($f{m});@e=($e,<F>)[0..20];seek F,0,0;print F @e;
print"content-type: text/html\n\n<title>BBS</title><h1>BBS</h1><form
action='bbs.cgi'><p>名前<input name=n value='$f{n}'><br>記事<input name=m
size=50><br><input type=submit></p></form><hr><p>@e</p><hr>";
__END__
>>32
シンプルだぞ(笑)
#!/usr/local/bin/perl
%f=map{tr/+/ /;s/%(..)/pack("H2",$1)/eg;s/</&</;s/>/&>/;$_}split/[&=]/,
$ENV{QUERY_STRING};$f{n}||="名無し";open F,"+<bbs.dat";flock F,2;$e=
"$f{n} &>$f{m}<BR>\n"if($f{m});@e=($e,<F>)[0..20];seek F,0,0;print F @e;
print"content-type: text/html\n\n<title>BBS</title><h1>BBS</h1><form
action='bbs.cgi'><p>名前<input name=n value='$f{n}'><br>記事<input name=m
size=50><br><input type=submit></p></form><hr><p>@e</p><hr>";
__END__
>>32
シンプルだぞ(笑)
2001/06/07(木) 20:12ID:???
>>33 そのスクリプトすごい好き。7行なのに名無し機能まである。
2001/06/07(木) 21:20ID:???
>>33
元スレの25だけど、無駄なファイルアクセス避けるためには、
$e="$f{n} &>$f{m}<BR>\n"if($f{m});@e=($e,<F>)[0..20];seek F,0,0;print F @e;
は、下みたいにしたほうがいいかもね。
@e=<F>;if($f{m}){seek F,0,0;print F @e=("$f{n} &>$f{m}<BR>\n",@e)[0..20]}
元スレの25だけど、無駄なファイルアクセス避けるためには、
$e="$f{n} &>$f{m}<BR>\n"if($f{m});@e=($e,<F>)[0..20];seek F,0,0;print F @e;
は、下みたいにしたほうがいいかもね。
@e=<F>;if($f{m}){seek F,0,0;print F @e=("$f{n} &>$f{m}<BR>\n",@e)[0..20]}
3633
2001/06/07(木) 21:53ID:???2001/06/07(木) 23:32ID:???
Tiny BBSでいいじゃん?
http://yasu.asuka.net/soft/tinybbs.html
http://yasu.asuka.net/soft/tinybbs.html
2001/06/09(土) 00:41ID:???
なんか7行見て引いちゃったんだけどさ
漏れみたいな素人がminibbsパクッタのでもいいかい?
漏れみたいな素人がminibbsパクッタのでもいいかい?
2001/06/09(土) 08:33ID:???
>>38
誰か、Tiny BBSのソース上げておくれ。
誰か、Tiny BBSのソース上げておくれ。
2001/06/09(土) 09:49ID:???
>>40
なんで?落とせないか?
なんで?落とせないか?
2001/06/09(土) 14:42ID:???
mx使って認証してるのか?
@以下のアドレスを@geocities.co.jpとかでDLしろよ
@以下のアドレスを@geocities.co.jpとかでDLしろよ
2001/06/09(土) 16:10ID:???
FTP ソフトで入れ。
2001/06/09(土) 16:39ID:???
>>39
use strictな掲示板ならどんなんれもいいのれすー
use strictな掲示板ならどんなんれもいいのれすー
45rubbish_lister
2001/06/11(月) 22:47ID:oKTfyTH6 panton氏のIndexedFile.pmを見ましたが、いいですねぇ。
BBSを作るのがかなり楽になりそうです。
恩恵に預かるだけでは良くはならないので、
ソース中で幾つか気になった点を書いておきます。
* line 154
これは
sub articles{ return @{ $_[0]->{_idxlist} } }
でいいのではないでしょうか。
* IO::File
IO::Fileはかなり大きいので使わずに済ませてもいいのでは?
CGIスクリプトとしての動作が前提なので、軽くしてまずいという事は無いかと。
* "$_"
気付いておられると思いますが、
所々暗黙の$_を使用していますね。
これもついでに。
BBSを作るのがかなり楽になりそうです。
恩恵に預かるだけでは良くはならないので、
ソース中で幾つか気になった点を書いておきます。
* line 154
これは
sub articles{ return @{ $_[0]->{_idxlist} } }
でいいのではないでしょうか。
* IO::File
IO::Fileはかなり大きいので使わずに済ませてもいいのでは?
CGIスクリプトとしての動作が前提なので、軽くしてまずいという事は無いかと。
* "$_"
気付いておられると思いますが、
所々暗黙の$_を使用していますね。
これもついでに。
2001/06/11(月) 23:13ID:???
47rubbish_lister
2001/06/11(月) 23:30ID:oKTfyTH649初期不良
2001/06/12(火) 01:00ID:MAetbv9U >>47
確かにそれ関係でばぐった時はちょっとやっかいだった
確かにそれ関係でばぐった時はちょっとやっかいだった
2001/06/20(水) 02:05ID:???
ほういち氏は何処行った?
51ウェブ作成初心者
2001/06/27(水) 00:45ID:DrGg5Duk PERLなんて奇特なもんしりゃーせんです、ハイ。
知ってるのは“REMEMBER PEARL HABOR”くらいッス。
www.tripod.lycos.comとかはどうやって ウェブサイトや掲示板を作るかよくわかりません。
とりあえずトライポッドに無料サイトを開設して掲示板を設置したいのですが、
ウェブ作成関連のプログラミングにめちゃ詳しい方教えてください。
メモ帳でcgiファイル?を作ってアップする?とか意味がわかるようでわからないです。
知ってるのは“REMEMBER PEARL HABOR”くらいッス。
www.tripod.lycos.comとかはどうやって ウェブサイトや掲示板を作るかよくわかりません。
とりあえずトライポッドに無料サイトを開設して掲示板を設置したいのですが、
ウェブ作成関連のプログラミングにめちゃ詳しい方教えてください。
メモ帳でcgiファイル?を作ってアップする?とか意味がわかるようでわからないです。
2001/06/27(水) 09:08ID:???
>>51 死ね。
2001/06/27(水) 09:11ID:???
>ウェブ作成関連のプログラミングにめちゃ詳しい方教えてください。
プ
プ
2001/06/27(水) 13:30ID:???
55名無しさん@お腹いっぱい。
2001/06/29(金) 02:23ID:4xodowQE いま掲示版作っています。
データファイルをCSVに使用と思ってるのですが、CSVって、クオーテーションマークだけをエスケープすれば委員ですよね。
あと、CRとかLFとかもエスケープしたいのですが、どうすればいいですか・?
<br>に変換するにはあんまり美しくない気がして。
データファイルをCSVに使用と思ってるのですが、CSVって、クオーテーションマークだけをエスケープすれば委員ですよね。
あと、CRとかLFとかもエスケープしたいのですが、どうすればいいですか・?
<br>に変換するにはあんまり美しくない気がして。
56名無しさん@お腹いっぱい。
2001/06/29(金) 02:33ID:4xodowQE うん
2001/06/29(金) 02:37ID:???
>>55
パーサの仕様によっては、カンマもエスケープの必要有りでは?
パーサの仕様によっては、カンマもエスケープの必要有りでは?
58名無しさん@お腹いっぱい。
2001/06/29(金) 11:56ID:HUBABICM5958
2001/06/29(金) 11:57ID:HUBABICM 惜しい、もうすこしでIDがBASICだったのに…
2001/06/29(金) 14:32ID:???
>>58
ただのBASICではなくてHu-BASICだというところが泣かせる。
ただのBASICではなくてHu-BASICだというところが泣かせる。
2001/06/29(金) 18:52ID:???
62名無しさん@お腹いっぱい。
2001/06/30(土) 20:10ID:rUTTiUww CSVについて
" " で囲みさえすれば、エスケープする必要があるのは、" 自身だけではないのでしょうか。
" " で囲みさえすれば、エスケープする必要があるのは、" 自身だけではないのでしょうか。
2001/06/30(土) 20:18ID:???
掲示板のデータファイルを考えているのですね。
CSVのモジュールを使えば、そんなこと考えなくてもいいのでは。
CSVのモジュールを使えば、そんなこと考えなくてもいいのでは。
64あぼーん
NGNGあぼーん
65名無しさん@お腹いっぱい。
2001/07/01(日) 09:11ID:Q4XVcLok uzee
66panton
2001/07/04(水) 04:10ID:iYqhBR52 >>45 rubbish_lister様
遅レスで申し訳ないです。
> * line 154
> これは
> sub articles{ return @{ $_[0]->{_idxlist} } }
> でいいのではないでしょうか。
あれ?こうすると、配列でなくリストで返されて、スカラーコンテキストだと、
採用されるのは要素数ではなく最後の要素になっちゃうと思ったんですけど、
違うんですね。勉強になりました。
オーバーヘッド的にはどうなんでしょう?
挙動から予想すると、配列全部ではなく、
要素数が帰ってるみたいなので、大丈夫なんでしょうか?
IO:Fileはそのとおりです。
以前TODOに入れてたような気がしたけど、ないですね。TODOで。
$_ は個人的に混乱しない限り使わせていただきます。
Perl大好きっ子なんで。
遅レスで申し訳ないです。
> * line 154
> これは
> sub articles{ return @{ $_[0]->{_idxlist} } }
> でいいのではないでしょうか。
あれ?こうすると、配列でなくリストで返されて、スカラーコンテキストだと、
採用されるのは要素数ではなく最後の要素になっちゃうと思ったんですけど、
違うんですね。勉強になりました。
オーバーヘッド的にはどうなんでしょう?
挙動から予想すると、配列全部ではなく、
要素数が帰ってるみたいなので、大丈夫なんでしょうか?
IO:Fileはそのとおりです。
以前TODOに入れてたような気がしたけど、ないですね。TODOで。
$_ は個人的に混乱しない限り使わせていただきます。
Perl大好きっ子なんで。
2001/07/06(金) 22:51ID:???
∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(,,・∀・) < さっぱりだよ。
〜(___ノ \_______________
2001/07/08(日) 17:52ID:???
初歩的な質問ですみませんが、
データファイルって、読み込みの時にもロックした方がいいですか?
それから、レスを多次元配列に入れてから書き出したいのですが、
配列全体のサイズが100KBとかになっても問題ないですか
データファイルって、読み込みの時にもロックした方がいいですか?
それから、レスを多次元配列に入れてから書き出したいのですが、
配列全体のサイズが100KBとかになっても問題ないですか
69名無しさん@お腹いっぱい。
2001/07/09(月) 00:38ID:vYQpj6T6 >>68
おれはflockが使えるときは読み込みのときでも
flock(FILE, LOCK_SH) ってやってるよ。
ただしsymlinkを使ったりする場合は読み込みではロックしない。
配列サイズは、サーバのメモリ容量とアクセス頻度を考慮して
判断すべきだから一概にいえないけど、
うちの環境では100KBならまず気にしない。1MBだと気にするかも。
おれはflockが使えるときは読み込みのときでも
flock(FILE, LOCK_SH) ってやってるよ。
ただしsymlinkを使ったりする場合は読み込みではロックしない。
配列サイズは、サーバのメモリ容量とアクセス頻度を考慮して
判断すべきだから一概にいえないけど、
うちの環境では100KBならまず気にしない。1MBだと気にするかも。
70名無しさん@お腹いっぱい。
2001/07/09(月) 10:12ID:8Wkoq3g6 >69
気にしてください、お願いします
気にしてください、お願いします
2001/07/09(月) 10:21ID:???
専用鯖なんじゃないの?
共用鯖だったら締め頃したくなるところだが
共用鯖だったら締め頃したくなるところだが
レスを投稿する
ニュース
- 【足立区暴走11人死傷】歩行者はねた後も減速せず…精神疾患がある37歳男「車で神奈川の山の方に行きたいと思った」 [ぐれ★]
- NHKの災害情報、閲覧に「ユーザー登録必要」で批判の声多数 [少考さん★]
- 🇺🇸🇨🇳米中関係は「極めて強固」とトランプ氏… ★7 [BFU★]
- 【北海道】「稀に見る大きな個体」 体長1.9m、体重400kg超の巨大グマを捕獲 苫前町 [煮卵★]
- SuicaとPASMOのコード決済「teppay(テッペイ)」26年秋開始 🐧🤖 [少考さん★]
- フィフィ “工作員”と疑う声に「日本のために…昔から身を挺して発信している」「どんだけ探ったところで、なんも出てこないよ」 [Anonymous★]
- 【高市悲報】8年前の志らく「政権批判しただけで反日扱いはおかしい😤そもそも日本人かどうかで差別するな」 [359965264]
- 【速報】参政党、スパイ防止法を提出 [834922174]
- 【高市悲報】中国「日本への渡航禁止報復はたったの4ヶ月ネ!花見時期には解除するアル」 [614650719]
- 小林源文(74)「実際に日中戦争になったら先の大戦の沖縄、硫黄島での戦闘のように日本人の恐ろしさを教えてあげるよw」 [237216734]
- 防衛省「台湾有事にロシア参戦するかも」 [177178129]
- 【速報】米中電話会談、おやびん側からの提案だった。高市さん... [834922174]
