結城浩
2004年2月17日
Wikiで検索しているうちにリンクでたどりついた「7行で書くWiki」。 2ちゃんねるの「Webプログラミング板」で「nobodyさん」たちが作ったもののようです。 はっきりいってすごいです。これだけでちゃんと動くWikiになります。
#!perl -w use CGI":all";charset$c='EUC-JP';$w='\b(([A-Z][a-z]+){2,})';$f=script_name;$/=( );($p)=(path_info||FrontPage)=~/$w/;if(open F,($m=param z)?">$p":$p){eval{flock F,2};print F$m||=<F>}$_=pre(escapeHTML$m).hr.ul map{li"".localtime((stat)[9]), $_}sort{-M$a<=>-M$b}grep/^$w$/&-f,<*>;s|$w|(!-f$1&&$1).a{href,"$f/$1"},-f$1?$1: "?"|eg;put header,start_html(-title=>$p,encoding,$c,lang,ja),h1($p),startform(0 ,"$f/$p"),p(textarea(z,$m,6,60),br,submit),endform,hr,$_,end_html
改行とスペースとを補うと、以下のようになります。
#!perl -w use CGI ":all"; charset $c = 'EUC-JP'; $w = '\b(([A-Z][a-z]+){2,})'; $f = script_name; $/ = (); ($p) = (path_info || FrontPage) =~ /$w/; if (open F, ($m = param z) ? ">$p" : $p) { eval{ flock F, 2 }; print F $m ||= <F> } $_ = pre(escapeHTML $m).hr.ul map{ li "".localtime((stat)[9]), $_ } sort { -M $a <=> -M $b } grep /^$w$/ &-f,<*>; s|$w|(!-f $1 && $1).a{href, "$f/$1"}, -f $1 ? $1 : "?"|eg; put header, start_html(-title => $p, encoding, $c, lang, ja), h1($p), startform(0, "$f/$p"), p(textarea(z, $m, 6, 60), br, submit), endform, hr, $_, end_html