七行プログラミング (452レス)
上下前次1-新
393: 2006/01/27(金)22:19 ID:??? AAS
7 httpd
これはCGIじゃないよ。
起動でlistenと外部リンク[html]:127.0.0.1で表示。
Options Indexes があるはずも無いのでファイル名まで指定。
if(!grep(/^SERVER/i,keys%ENV)&&socket(S,2,1,0)&&setsockopt(S,65535,4,pack'l',1)
&&bind(S,pack'S n a4 x8',2,80)&&listen S,1){select+(select(S),$|=1)[0];while(
accept C,S){select+(select(C),$|=1)[0];@r=unpack"C*",getpeername C;if(recv(C,$d
,8192,0)&&$d=~/^GET ([\x21-\x7e]{1,256}) H/ and$p=join'/',map{s/\.+/./g;$_}grep
length,split/[\\\/]+/,$1){print C 'HTTP/1.0 ',do{$n="\r\n\r\n";if(open F,"./$p"
){binmode F;read F,$b,-s F;close F;"200$n$b"}else{"404${n}Not Found\n"}};undef
$b}close C;printf"$d%d.%d.%d.%d:%d\n%s\n",@r[4..7],256*$r[2]+$r[3],'-'x 64}}
394: [age] 2006/01/30(月)04:20 ID:??? AAS
みんながんがれ!!
395: 2006/02/10(金)18:36 ID:??? AAS
うぅ、ここPerl限定なのか…
PHPスレ欲しいな。
396: 2006/02/10(金)18:41 ID:??? AAS
phpもOKみたいだぞ。
397: クロエ 2006/02/12(日)00:31 ID:VpXKciXc(1) AAS
>>368
365だと367の最後の×100が反映されないんですが…。せんせぇ、お願いします。
398: 2006/02/15(水)07:50 ID:Q8DDLS00(1) AAS
てめえらどうした!?
探求心はつきたか?
399: 2006/02/19(日)19:16 ID:YpSh6qb6(1) AAS
昔作った今月のカレンダー表示スクリプト。
($$,$:,$;,$=)=(localtime)[3..6];printf"%2d%s",$_,++$=%7?$":$/for(print($;+
1900,'/',$:+1,"/$$\n",$"x(($=-=$$-1)%7*3))..28+($:-1?3-$:%7%2:!($;%4)))
400(2): 2006/02/28(火)10:19 ID:5vE9CKm+(1) 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>';
401: 2006/03/10(金)16:20 ID:OL3a1OF8(1) AAS
在庫から 7wikimini ドゾ。
YukiWikiMini の7行版みたいな感じです。
実行するにはWという名前のフォルダが必要です。
use CGI":all";charset$c=Shift_JIS;*i=*param;$f=FrontPage;$i=Index;$u=Update;$F=
i(P)||$f;sub e{a{href,"?E=1&P=".pop},@_}sub l($){a{href,"?P=@_"},@_}chdir W;$E=
i E;$U=$F eq$u;$I=$F eq$i;$,=$/;if($_=i T){open F,">$F";print F$_}$H=$I+$U;$t=$
H?join$/,map{localtime((stat)[9]).$_}sort{$U&&-M$a<=>-M$b}<*>:($/=!open F)||$E?
<F>:escapeHTML<F>;$E||$t=~s/([A-Z][a-z]+){2,}/-f$&?l$&:$&.e"?",$&/eg;put header
,start_html(-title=>$F,lang,ja,encoding,$c),l$f,$H?():e(Edit,$F),l$i,l$u,h1($F)
,$E?startform.hidden(P).textarea(T,$t,20,80).submit.endform:pre($t),$P,end_html
ページ削除機能が実装されてないので、もうちょっと改良が必要っす。
402(2): 2006/03/10(金)18:39 ID:??? AAS
おまいら、このスレ出ている7行プログラムを、
インデント付けて整形するプログラムをどうか7行以内で書いてもらえませんか。
403: 2006/03/10(金)20:42 ID:??? AAS
>>402
モジュールの力を借りずに Perl の構文解析器を七行で書くのは
絶望的だし、この手のコードは多分に恣意的なインデントや桁揃え
をしないと読み易くもならない。
ので、手っ取り早く「バラし」て流れを読みたいのなら、これで充分。
perl -MO=Deparse script.in > script.out
もちろんチャレンジ精神を否定しているのではないよ。:o)
404(1): 2006/03/11(土)14:32 ID:??? AAS
>>402
ム板の7行スレの方であったかもしれぬ。なかったかもしれぬ。
405: 2006/03/11(土)17:24 ID:??? AAS
>>404
あったよ。Part 2 の 105,129,135,162,163,169,170 辺り。
…まぁ、通ってきた道なわけですよ。
406: 2006/03/12(日)19:32 ID:??? AAS
<?php $s=(int)$_GET['s'];$d=array_map('intval',explode(' ', $_GET['d']));$n=
count($d);$m=max($d);$r=imagecreate($s,$s);imagecolorallocate($r,255,255,255);
$c=imagecolorallocate($r,128,128,128);$h=$s/2;for($i=0;$i<$n;$i++){$a=pi()*(2*
$i/$n-1/2);$t=$h*$d[$i]/$m;$p1[]=$h*(1+cos($a));$p1[]=$h*(1+sin($a));$p2[]=$h+
$t*cos($a);$p2[]=$h+$t*sin($a);imageline($r,$h,$h,$p1[$i*2],$p1[$i*2+1],$c);}
imagepolygon($r,$p1,$n,$c);imagepolygon($r,$p2,$n,imagecolorallocate($r,0,0,255
));header('Content-Type: image/gif');imagegif($r);?>
これはあまり安全じゃないよ。
フォーム作るゆとりなかったからアドレスバーの数字を直接いじってみて〜
外部リンク[php]:127.0.0.1
407: 2006/03/14(火)00:29 ID:??? AAS
そのうち7行山田ウイルスとか出てきそうな予感
408: 2006/03/15(水)00:31 ID:??? AAS
7行Webサーバができるなら山田もいけそうだな
409: 2006/03/26(日)01:13 ID:??? AAS
7行OS
410: 2006/03/32(土)00:29 ID:WFUzL8FS(1) AAS
あれ、7行WEBサーバってなかったっけ?
411: 2006/06/12(月)12:59 ID:??? AAS
過疎スレになっちゃったな。
412(1): 2006/06/12(月)21:26 ID:NzZJH7e1(1) AAS
先日、会社でちょっとした7行ゲームを作ったんだけど、
社内でやっちまったんで、持ち出せないんだよな。
7行といっても7分で出来るわけじゃないんだよな。
413: 2006/07/23(日)02:39 ID:8Se2GPZR(1) AAS
七行Blog
414: 2006/07/27(木)16:06 ID:??? AAS
>>412
そんならカキコすんな
なんていってほしいわけ?
415: 2006/07/31(月)00:02 ID:??? AAS
うpキボンヌ
416(3): ◆GodofTripY 2006/08/01(火)01:25 ID:??? AAS
($name, $tripkey) = split(/\#(.+)/, $form{'name'});
if($tripkey){
$salt = substr($tripkey.'H.', 1, 2);
$salt =~ tr/\x3A-\x40\x5B-\x60\x00-\x2D\x7B-\xFF/A-Ga-f./;
$salt =~ s/[^\.-z]/\./g;
$trip = '◆'. substr(crypt($tripkey, $salt), -10);}
print "$name$trip";
2chトリップ判定。
417: 2006/08/01(火)02:06 ID:??? AAS
>>416
気持ちはわかるがそれはwebprogではない
418: 2006/08/01(火)03:23 ID:??? AAS
>>416
どこかで見た事があるんだが^^
419: 2006/08/01(火)04:17 ID:??? AAS
>>416
2chってcrypt()なんだね
420(1): 2006/10/13(金)18:11 ID:UA0b1MaA(1) AAS
6行RSSリーダー 設置して.cgi?以降にfeedのURLを入力
モジュールてんこ盛りなのでもっと短く書けるはず
use LWP::Simple;use CGI":all";use XML::RSS;$h = new CGI;$r = new XML::RSS;
$r->parse(get("$ENV{'QUERY_STRING'}"));%c = %{$r->{'channel'}};
print $h->header.'<a href="'.$c{'link'}.'">'.$c{'title'}.
"</a><br>$c{'description'}<br>";print "<ul>";for $item (@{$r->{'items'}}){
print '<a href="'.$item->{'link'}.'">'.$item->{'title'}.
"</a><br>$item->{'description'}<br>";}print "</ul>".$h->end_html;
421(1): sage 2006/10/13(金)18:14 ID:??? AAS
test
422: 2006/10/13(金)18:17 ID:yRLkeiwT(1) AAS
>>421
まさか7行で2chに書き込めるスクリプトを?!
上下前次1-新書関写板覧索設栞歴
あと 30 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s