七行プログラミング (452レス)
上下前次1-新
39: ユカリ [] 02/11/03 14:35 ID:8kfSttUc(1) AAS
プランテック製の「 RX-2000? 」を改造済み 
 にした、アイティーエス製の「 RX-2000? 」↓ 
 外部リンク:user.auctions.yahoo.co.jp 
  
 現在、本当に人気がある様です。 
 私も、この前、買いました。 
  
 関連ホームページ↓ 
 外部リンク:www.h5.dion.ne.jp 
 外部リンク:www.h4.dion.ne.jp 
 外部リンク:www.h5.dion.ne.jp 
 外部リンク:www.h4.dion.ne.jp 
40(2): nobodyさん [sage] 02/11/03 14:48 ID:??? AAS
 WebProg らしく。 
  
 --- cgi-lib.po --- 
 my($m,$l,$i,$e,$x)=@ENV{'REQUEST_METHOD','CONTENT_LENGTH'};my$d=sub{$d= 
 "Request to receive too much data: $l bytes\n";print"Content-Type: text/plain", 
 "\n\n$d";die$d};sub ReadParse{$l>$$x?&$d:$m=~/POST/?($e=$l-read STDIN,$i,$l):( 
 $i=$ENV{QUERY_STRING});local*I=pop;my@i=(split(/[&;]/,$i),($m?():@ARGV));for(@i 
 ){tr/+/ /;s/%([\da-f]{2})/pack'H2',$1/egi for my($k,$v)=split/=/,$_,2;$I{$k}.= 
 $I{$k}?"\0$v":$v}!$e&&scalar@i}${$x='cgi_lib::maxdata'}=131072 
 --------------- 
  
 cgi-lib.pl 互換。Perl4 不可、multipart 未対応。 
  
 require 'cgi-lib.po'; 
 $cgi_lib::maxdata = 1024; # POST 時の上限サイズ 
 ReadParse(*in); # or ReadParse(\%in); 
41(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; 
42(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(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件まで保存。 
  
 >>41 
 ネタが被るねぇ。ゴメンね。(´・ω・`) 
44(2): nobodyさん [sage] 02/11/03 19:17 ID:??? AAS
 動かねぇです大将!>>42>>43 
 >>42のは半角でも全角でも変な文字が保存されるです!モジコード変えてもダメだったです! 
 >>43のはファイルが作成されませぬ! 
 私のミステイクでしょうか!ハラキリ! 
45: nobodyさん [sage] 02/11/03 19:22 ID:??? AAS
 >>44 
 open F,"+<$l"; ←注目 
 つー事で、ログファイルは先に作っといて。 
 $l='7bbs.log'; 
 のトコがログファイルのパスだから、よろ。 
46(2): nobodyさん [require使えば] 02/11/03 19:44 ID:??? AAS
 1行でも書けるな。 
47: nobodyさん [sage] 02/11/03 20:07 ID:??? AA×
>>-

48(1): nobodyさん [] 02/11/03 21:17 ID:QK0oCR94(1) AAS
 明文化 
  
 ・7行×79文字 
 ・Perl 
 ・#!/usr/local/bin/perlは含まない。実質的なプログラムで七行。 
 ・スペースも1文字分。2バイト文字は2文字分。 
  
 でいいでしょうか? 
49: rubyist@カラアゲうまうま [sage] 02/11/03 21:21 ID:??? AAS
 perl版cc1だれか作れ 
50: nobodyさん [sage] 02/11/03 22:32 ID:??? AAS
 このスレを見たとき、 
 ム板かと思いますた。 
51(1): nobodyさん [sage] 02/11/03 22:34 ID:??? AAS
 掲示板は本家でもうかなり短くなってないか? 
  
 別に委員だけど、もっと面白いネタがないかなと。 
52: 43 [sage] 02/11/03 23:08 ID:??? AAS
 >>48 
 プログラムが Web 関連物なら言語は何でもいいんじゃ? 
 シェバング行は C の #include みたいなモンだから…。 
  
 >>51 
 単に縮めるだけじゃなく、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> 
 ---------------- 
  
 ["&<>] を数値文字参照に変換。 
53(1): nobodyさん [sage] 02/11/03 23:18 ID:??? AAS
 7行のスレッドフロート型掲示板とかは無理? 
54:  ◆FruitsMIpE  [sage] 02/11/03 23:44 ID:??? AAS
 >>43 
 Winではflock 使えなくてエラーに ヽ(*`Д´)ノ ワァァン 
  
 >>44 
 ガ━━━━(;゚Д゚)━━━━ン !! 
 すいませn原因わかりませn 
 Windows環境でSJISならうまくいくんだけど・・ 
  
 >>53 
 前に2ch型掲示板作ってみたけど、無理確定のような気がする。 
 誰か作れる人、いるかな 
55(1): nobodyさん [] 02/11/04 06:56 ID:5+umhhBG(1) AAS
 7行2ch型掲示板 
 ただし、かちゅ〜しゃがないとだめぽ、 
 read.cgiがないから読めないし、書きこみフォームもないから、あとsubject.txtの新スレは一番下になる。 
 flockもしていない、かちゅに依存するために変数名が長い。 
  
 下記のディレクトリ構成で成功 
 /test 
   +--/bbs.cgi 
   +--/subject.txt 
   +--/dat/ 
  
 #!/usr/local/bin/perl 
 $t=time;read(STDIN,$b,$ENV{'CONTENT_LENGTH'});@p=split(/&/,$b);foreach (@p) 
 {($a,$v)=split "=";$v=~tr/+/ /;$v=~s/%([A-Za-z0-9]{2})/pack("C", hex($1))/eg; 
 $i{$a}=$v;}if(!$i{'key'}){$i{'key'}=$t;}open(F,">>./dat/$i{'key'}.dat"); 
 print F "$i{'FROM'}<>$i{'mail'}<>$t<>$i{'MESSAGE'}<>$i{'subject'}\n";close(F); 
 open(S,">>./subject.txt");print S "$i{'key'}.dat<>$i{'subject'}(1)\n"; 
 close(S);exit; 
  
 つーか激しく2ch型から離れているが。 
56: nobodyさん [sage] 02/11/04 09:38 ID:??? AAS
 >>55 
 それは普通掲示板といいません(w 
 win鯖では動いたけどな。 
57(1): nobodyさん [sage] 02/11/04 12:16 ID:??? AAS
 やはりCGIだと、定型的な部分で多く取られてしまいますな。 
58(1): ( ´∀`)でけた〜 [sage] 02/11/04 12:59 ID:??? AAS
 [アクセス解析] 
 CGI名: a.cgi 
 空ファイル用意: log 
 そのままアクセスしてログ取り 
 引数に a をつけて解析結果表示 
  
 #!/usr/bin/perl 
 &a if $ENV{QUERY_STRING}eq'a';($s,$m,$j,$d,$g,$y)=gmtime(time+9*60*60);$i=$ENV{ 
 REMOTE_ADDR};$h=$ENV{REMOTE_HOST}||gethostbyaddr(pack('C4',split(/\./,$i)),2)|| 
 $i;$y=sprintf("%d/%02d/%02d/ %02d:%02d:%02d",$y+=1900,++$g,$d,$j,$m,$s);open(F, 
 '+<log');@d=<F>;unshift(@d,"$y,$h,$ENV{HTTP_USER_AGENT},$ENV{HTTP_REFERER}\n"); 
 seek(F,0,0);print F @d;sub a{print"Content-type:text/html\n\n";open(F,'log'); 
 while(<F>){($t,$h,$u,$r)=split(/,/,$_);print"$t<br>$h<br>$u<br>$r<hr>"}exit} 
59: nobodyさん [sage] 02/11/04 14:26 ID:??? AAS
 で、実用性ある奴はあるのか? 
60(2): nobodyさん [] 02/11/04 15:47 ID:CMvXGJGy(1) AAS
 (・ε・)v キニシナイ! 
61: nobodyさん [sage] 02/11/04 20:59 ID:??? AAS
 HTML4.01strictとかどうよw 
62: nobodyさん [sage] 02/11/04 23:14 ID:??? AAS
 >>57 
 試しにHTMLを分離して作ってみたら大分縮んだ。 
 外部リンク[gz]:boobar.hp.infoseek.co.jp 
  
 >>58 
 縮めてみた。 
  
 #!/usr/bin/perl 
 if($ENV{QUERY_STRING}eq'a'){open F,'log';print"Content-Type: text/html\n\n",map 
 join('<br>',split/,/).'<hr>',<F>;exit}$i=$ENV{REMOTE_ADDR};$h=$ENV{REMOTE_HOST} 
 ||gethostbyaddr(pack('C4',split/\./,$i),2)||$i;($s,$m,$j,$d,$g,$y)=localtime; 
 open F,'+<log';eval{flock F,2};@d=(sprintf('%d/%02d/%02d %02d:%02d:%02d',1900+ 
 $y,$g+1,$d,$j,$m,$s).",$h,$ENV{HTTP_USER_AGENT},$ENV{HTTP_REFERER}\n",<F>); 
 truncate F,0;seek F,0,0;print F @d 
63: age [age] 02/11/05 18:48 ID:??? AAS
 age 
上下前次1-新書関写板覧索設栞歴
あと 389 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s