七行プログラミング (452レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
43(3): nobodyさん [sage] 02/11/03 18:38 ID:??? AAS
>>2424(1): ( ´∀`)ヮ-ィ [sage] 02/11/02 01:25 ID:??? AAS
掲示板でけた〜〜
#!/usr/bin/perl
if($ENV{'REQUEST_METHOD'}eq'POST'){read(STDIN,$b,$ENV{'CONTENT_LENGTH'});
foreach(split(/&/,$b)){($c,$d)=split(/=/,$_);$d=~tr/+/ /;
$d=~s/%([a-f\d]{2})/pack('H2',$1)/egi;$form{$c}=$d}open(F,'>>z.txt');
print F "$form{y}\n";close F}print"Content-type:text/html\n\n<html>
<form action=x.cgi method=post><input type=text name=y><input type=submit>
</form><br><br>";open(F,'z.txt');while(<F>){print "$_<br>\n"}print'</html>';
を発展させてみた。一行掲示板。
--- 7bbs.cgi ---
#!/usr/local/bin/perl
$l='7bbs.log';if(read STDIN,$_,$ENV{'CONTENT_LENGTH'}){for(split/&/){$_=(split
/=/)[1];tr/+/ /;s/%([a-f\d]{2})/pack'H2',$1/egi;push@r,$_}@r=(''.localtime,@r);
open F,"+<$l";flock F,2;@l=(join(': ',@r),"<br>\n",<F>);truncate F,0;print F
@l[0..49]}open F,$l;print join('><input type=',"Content-type: text/html\n\n".
'<title></title><form action=7bbs.cgi method=post','text name=n','text name=w',
'submit></form>'),<F>
----------------
新しい順に表示。50件まで保存。
>>4141(1): ◆FruitsMIpE [sage] 02/11/03 18:15 ID:??? AAS
名前入力欄つき掲示板
$q=$ENV{QUERY_STRING}; if($q){@p=split /[&;]/,$q; foreach(@p){($a,$b)=split
"="; $b=~tr/+/ /; $b=~s/%([A-Za-z0-9]{2})/pack("C", hex($1))/eg; $i{$a}=$b;}
open W, ">> b.log"; print W "$i{n}<>$i{m}\n"; close W;} print "Content-type:
text/html\n\n<html>\n<head><title>掲示板</title></head>\n<body>\n"; open R,
"b.log"; while(<R>){chomp; ($n,$m)=split "<>"; print "$n:$m<br>\n";} close R;
print qq{<hr>\n<form>Name<input type="text" name="n"> <input type="text"
name="m" size="64"><input type="submit"></form>\n<hr>\n</body></html>\n}; exit;
ネタが被るねぇ。ゴメンね。(´・ω・`)
44(2): nobodyさん [sage] 02/11/03 19:17 ID:??? AAS
動かねぇです大将!>>4242(1): ◆FruitsMIpE [sage] 02/11/03 18:27 ID:??? AAS
改良
$q=$ENV{QUERY_STRING}; if($q){@p=split /[&;]/,$q; foreach(@p){($a,$b)=split
"="; $b=~tr/+/ /; $b=~s/%([A-Za-z0-9]{2})/pack("C", hex($1))/eg; $i{$a}=$b;}
open W, ">> b.log"; print W "$i{n}:$i{m}\n"; close W;} print "Content-type:
text/html\n\n<html>\n<title>BBS</title>\n\n"; open R, "b.log"; while(<R>)
{chomp; print "$_<br>\n";} close R; print qq{<hr>\n<form>Name<input type="text"
name="n"> <input type="text" name="m" size="64"> <input type="submit"> [<a
href="b.cgi">Reload</a>] [<a href="../../">Back</a>]</form>\n<hr>\n</html>\n};
>>43
>>42のは半角でも全角でも変な文字が保存されるです!モジコード変えてもダメだったです!
>>43のはファイルが作成されませぬ!
私のミステイクでしょうか!ハラキリ!
52: 43 [sage] 02/11/03 23:08 ID:??? AAS
>>4848(1): nobodyさん [] 02/11/03 21:17 ID:QK0oCR94(1) AAS
明文化
・7行×79文字
・Perl
・#!/usr/local/bin/perlは含まない。実質的なプログラムで七行。
・スペースも1文字分。2バイト文字は2文字分。
でいいでしょうか?
プログラムが Web 関連物なら言語は何でもいいんじゃ?
シェバング行は C の #include みたいなモンだから…。
>>5151(1): nobodyさん [sage] 02/11/03 22:34 ID:??? AAS
掲示板は本家でもうかなり短くなってないか?
別に委員だけど、もっと面白いネタがないかなと。
単に縮めるだけじゃなく、7行をギリギリまで使って機能増やすのも
楽しみの一つだよ。掲示板に食傷気味なのは同意するけど。(w
つー事で改良。
--- 7bbs.cgi ---
#!/usr/local/bin/perl
$l='7bbs.log';if(read STDIN,$_,$ENV{CONTENT_LENGTH}){@r=''.localtime;for(split
/&/){$_=(split/=/)[1];tr/+/ /;s/%([a-f\d]{2})/pack'H2',$1/egi;s/(["&<>])/'?'.
unpack('C',$1).';'/eg;push@r,$_}open F,"+<$l";flock F,2;@l=(join(': ',@r).
"<br>\n",<F>);truncate F,0;seek F,0,0;print F @l[0..49]}open F,$l;print join(
'><input type=',"Content-type: text/html\n\n<title>77(3): nobodyさん [0] 02/11/01 18:52 ID:??? AAS
#!/usr/local/bin/perl
if (>>1 = "バカ") {
print "イッテヨシ";
} else {
print "マターリしましょう";
}
BBS</title><form action=".
'7bbs.cgi method=post','text name=n','text name=w',"submit></form>\n"),<F>
----------------
["&<>] を数値文字参照に変換。
54: ◆FruitsMIpE [sage] 02/11/03 23:44 ID:??? AAS
>>43
Winではflock 使えなくてエラーに ヽ(*`Д´)ノ ワァァン
>>44
ガ━━━━(;゚Д゚)━━━━ン !!
すいませn原因わかりませn
Windows環境でSJISならうまくいくんだけど・・
>>5353(1): nobodyさん [sage] 02/11/03 23:18 ID:??? AAS
7行のスレッドフロート型掲示板とかは無理?
前に2ch型掲示板作ってみたけど、無理確定のような気がする。
誰か作れる人、いるかな
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル アボンOFF
ぬこの手 ぬこTOP 0.026s