- 1 名前:nobodyさん [02/11/01 18:06 ID:umVq3FGM]
- ・7行×79文字
・Perl どうぞ。
- 396 名前:nobodyさん mailto:sage [2006/02/10(金) 18:41:19 ID:???]
- phpもOKみたいだぞ。
- 397 名前:クロエ [2006/02/12(日) 00:31:01 ID:VpXKciXc]
- >>368
365だと367の最後の×100が反映されないんですが…。せんせぇ、お願いします。
- 398 名前:nobodyさん [2006/02/15(水) 07:50:04 ID:Q8DDLS00]
- てめえらどうした!?
探求心はつきたか?
- 399 名前:nobodyさん [2006/02/19(日) 19:16:08 ID:YpSh6qb6]
- 昔作った今月のカレンダー表示スクリプト。
($$,$:,$;,$=)=(localtime)[3..6];printf"%2d%s",$_,++$=%7?$":$/for(print($;+ 1900,'/',$:+1,"/$$\n",$"x(($=-=$$-1)%7*3))..28+($:-1?3-$:%7%2:!($;%4)))
- 400 名前:nobodyさん [2006/02/28(火) 10:19:55 ID:5vE9CKm+]
- #!/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 名前:nobodyさん [2006/03/10(金) 16:20:32 ID:OL3a1OF8]
- 在庫から 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 名前:nobodyさん mailto:sage [2006/03/10(金) 18:39:49 ID:???]
- おまいら、このスレ出ている7行プログラムを、
インデント付けて整形するプログラムをどうか7行以内で書いてもらえませんか。
- 403 名前:nobodyさん mailto:sage [2006/03/10(金) 20:42:29 ID:???]
- >>402
モジュールの力を借りずに Perl の構文解析器を七行で書くのは 絶望的だし、この手のコードは多分に恣意的なインデントや桁揃え をしないと読み易くもならない。 ので、手っ取り早く「バラし」て流れを読みたいのなら、これで充分。 perl -MO=Deparse script.in > script.out もちろんチャレンジ精神を否定しているのではないよ。:o)
- 404 名前:nobodyさん mailto:sage [2006/03/11(土) 14:32:34 ID:???]
- >>402
ム板の7行スレの方であったかもしれぬ。なかったかもしれぬ。
- 405 名前:nobodyさん mailto:sage [2006/03/11(土) 17:24:08 ID:???]
- >>404
あったよ。Part 2 の 105,129,135,162,163,169,170 辺り。 …まぁ、通ってきた道なわけですよ。
- 406 名前:nobodyさん mailto:sage [2006/03/12(日) 19:32:59 ID:???]
- <?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);?> これはあまり安全じゃないよ。 フォーム作るゆとりなかったからアドレスバーの数字を直接いじってみて〜 127.0.0.1/r.php?s=200&d=5+6+9+8+3+7+2
- 407 名前:nobodyさん mailto:sage [2006/03/14(火) 00:29:05 ID:???]
- そのうち7行山田ウイルスとか出てきそうな予感
- 408 名前:nobodyさん mailto:sage [2006/03/15(水) 00:31:04 ID:???]
- 7行Webサーバができるなら山田もいけそうだな
- 409 名前:nobodyさん mailto:sage [2006/03/26(日) 01:13:16 ID:???]
- 7行OS
- 410 名前:nobodyさん [2006/03/32(土) 00:29:48 ID:WFUzL8FS]
- あれ、7行WEBサーバってなかったっけ?
- 411 名前:nobodyさん mailto:sage [2006/06/12(月) 12:59:18 ID:???]
- 過疎スレになっちゃったな。
- 412 名前:nobodyさん [2006/06/12(月) 21:26:04 ID:NzZJH7e1]
- 先日、会社でちょっとした7行ゲームを作ったんだけど、
社内でやっちまったんで、持ち出せないんだよな。 7行といっても7分で出来るわけじゃないんだよな。
- 413 名前:nobodyさん [2006/07/23(日) 02:39:55 ID:8Se2GPZR]
- 七行Blog
- 414 名前:nobodyさん mailto:sage [2006/07/27(木) 16:06:23 ID:???]
- >>412
そんならカキコすんな なんていってほしいわけ?
- 415 名前:nobodyさん mailto:sage [2006/07/31(月) 00:02:46 ID:???]
- うpキボンヌ
- 416 名前: ◆GodofTripY mailto:sage [2006/08/01(火) 01:25:49 ID:???]
- ($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 名前:nobodyさん mailto:sage [2006/08/01(火) 02:06:48 ID:???]
- >>416
気持ちはわかるがそれはwebprogではない
- 418 名前:nobodyさん mailto:sage [2006/08/01(火) 03:23:08 ID:???]
- >>416
どこかで見た事があるんだが^^
- 419 名前:nobodyさん mailto:sage [2006/08/01(火) 04:17:36 ID:???]
- >>416
2chってcrypt()なんだね
- 420 名前:nobodyさん [2006/10/13(金) 18:11:25 ID:UA0b1MaA]
- 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 名前:sage mailto:sage [2006/10/13(金) 18:14:55 ID:???]
- test
- 422 名前:nobodyさん [2006/10/13(金) 18:17:21 ID:yRLkeiwT]
- >>421
まさか7行で2chに書き込めるスクリプトを?!
- 423 名前:nobodyさん mailto:sage [2006/10/13(金) 22:26:56 ID:???]
- 7行も要らんけどな
- 424 名前:nobodyさん mailto:sage [2006/10/13(金) 23:51:02 ID:???]
- 書き込みのモジュールなんてあった??<<Perl脳
- 425 名前:nobodyさん mailto:sage [2006/10/14(土) 00:15:13 ID:???]
- 書き込みっつーかPOSTするだけだろ
- 426 名前:nobodyさん mailto:sage [2006/10/14(土) 00:45:55 ID:???]
- >>425
単にPOSTするだけって単にPOSTしただけじゃread.cgiに弾かれる
- 427 名前:nobodyさん mailto:sage [2006/10/14(土) 01:32:50 ID:???]
- 私はPHPならなんとか作れそうだが、それ以前に2chの仕様を勉強しなくちゃだな。
- 428 名前:nobodyさん mailto:sage [2006/10/14(土) 01:42:28 ID:???]
- POST先はbbs.cgiだけどな
- 429 名前:nobodyさん mailto:sage [2006/10/14(土) 02:59:59 ID:???]
- >>428
それすら知らなかった漏れは百回くらい正規表現の勉強でもしましょうか?
- 430 名前:nobodyさん mailto:sage [2006/10/14(土) 06:34:52 ID:???]
- >>420
縮めた。 #!/usr/bin/perl use LWP::Simple;use XML::RSS;$r=new XML::RSS;parse$r get$ENV{QUERY_STRING};use CGI":all";%c=%{$r->{channel}};put header,a({href,$c{link}},$c{title}),br,$c{$d= description},br,ul(li[map a({href,$_->{link}},$_->{title}).br.$_->{$d}.br,@{$r ->{items}}]),end_html
- 431 名前:nobodyさん mailto:sage [2006/10/14(土) 14:05:08 ID:???]
- >>430
sugeeeeeeeeeeeeeeeeeeeeee 問題無く動いた
- 432 名前:nobodyさん mailto:sage [2006/10/14(土) 15:01:38 ID:???]
- >>430 からもうちょい縮めた上で HTML がまともになるよう追加。
#!/usr/bin/perl use CGI":all";use LWP::Simple;use XML::RSS;$r=new XML::RSS;sub A{a{href,$_[0]-> {link}},$_[0]->{title}}charset$C="UTF-8";parse$r get pop;%c=%{$$r{channel}};put header,start_html(-encoding,$C,lang,ja),h1(A\%c),p($c{$d=description}),ul(li[ map A($_).br.$$_{$d},@{$$r{items}}]),end_html 二行半も空いてるけど付け加える機能を思いつかず。
- 433 名前:nobodyさん mailto:sage [2006/10/14(土) 15:13:56 ID:???]
- >>432
未読管理機能なんかオススメ 二行半でやる方法は思い浮かばないorz むしろ、どういう過程を経て効率的なソースが引けるようになったのかの方に興味あり苦笑 どこか参考にしたサイトとかあります?
- 434 名前:nobodyさん mailto:sage [2006/10/15(日) 11:53:37 ID:???]
- >>433
> 未読管理機能 ほい。新着タイトルを太字表示。 #!/usr/bin/perl use CGI":all";use LWP::Simple;use XML::RSS;$r=new XML::RSS;dbmopen%n,"7rssrdr", 420;charset$C="UTF-8";sub A{($t,$l)=@$_{"title","link"};a{href,$l},$n{$l}++?$t: b$t}parse$r get pop;%c=%{$$r{channel}};put header,start_html(-encoding,$C,lang, ja),h1(A$_=\%c),p($c{$d=description}),ul(li[map A.br.$$_{$d},@{$$r{items}}]), end_html > どこか参考にしたサイトとかあります? 駱駝本とか perldoc とか。冗談でも何でもなく。 この遊びのノウハウなら cm.xrea.cc/techinfo.cgi に。
- 435 名前:nobodyさん mailto:sage [2006/10/16(月) 01:39:15 ID:???]
- >>434
>駱駝本とか perldoc とか。 さもありなんというか結局質の高い基本が一番役にたつんだろうな
- 436 名前:aaz mailto:aaz@aaz.com [2006/11/05(日) 22:18:14 ID:???]
- fitaly.com/board/wordperfect/posts/362.html
- 437 名前:nobodyさん mailto:sage [2007/05/08(火) 22:55:38 ID:???]
- ほす
- 438 名前:nobodyさん mailto:sage [2007/12/01(土) 02:02:19 ID:???]
- 月次移動可能なカレンダー。c.phpで保存。
<?php $a=q("Y-m-t","$_GET[y]-1");$d=explode("-",$a);$y="<a href=?y=";$v=$d[0]; $w=$d[1];$z="</tr><tr>";$m="$v-$w";$p=q("Y-m",$w-1,1,$v);$n=q("Y-m",$w+1,1,$v) ;echo"<html>$y$p><</a>$m$y$n>></a> $y c.php>now</a><table border=1><tr>$z";$f= q("w","$m-1");for($i=-6-$f;$i<$d[2]-q("w",$a)+7;$i++){echo($i<1-$f)?"<th>".q( "D",$w,$i,$v)."</th>":(($i<1||$i>$d[2])?"<td></td>":"<td>$i</td>");if(($i+$f)% 7==0)echo$z;}echo"</tr></table></html>";function q($x,$w,$i=0,$v=0){return($i) ?date($x,mktime(0,0,0,$w,$i,$v)):date($x,strtotime($w));}?>
- 439 名前:nobodyさん mailto:sage [2007/12/06(木) 09:44:33 ID:???]
- >>438
「now」も要らんと思う。 <?php list($v,$w,$d)=explode("-",$a=q("$_GET[y]-1","Y-m-t"));$f=q("$v-$w-1","w" );echo$l="<a href=?y=",q($w-1,"Y-m",1,$v),"><</a>$v-$w$l",q($w+1,"Y-m",1,$v) ,">></a> $l>now</a><table><tr>";for($i=-6-$f;$i<$d-q($a,"w")+7;){echo$i<1-$f ?"<th>".q($w,"D",$i,$v)."</th>":"<td>".(($i<1||$i>$d)?"":$i)."</td>";if(($i++ + $f)%7==0)echo"</tr><tr>";}function q($w,$x,$i=0,$v=0){return date($x,$i?mktime( 0,0,0,$w,$i,$v):strtotime($w));}?></tr></table> PHPは不得手なんで、これよりもっと縮む筈。
- 440 名前:438 mailto:sage [2007/12/08(土) 01:17:01 ID:???]
- >>439
凄いですね。いろんなことができるんだ、と感心しきり。 少しだけ縮めた。 <?php list($v,$w,$d)=explode("-",$a=q("$_GET[y]-1","Y-m-t"));$f=q("$v-$w-1","w" );echo$l="<a href=?y=",q($w-1,"Y-m",1),"><</a>$v-$w$l",q($w+1,"Y-m",1),">></a> $l>now</a><table><tr>";for($i=-6-$f;$i<$d-q($a,"w")+7;){echo$i<1-$f?"<th>".q($w ,"D",$i)."</th>":"<td>".($i<1||$i>$d?"":$i)."</td>";if(($f+$i++)%7==0)echo"</tr ><tr>";}function q($w,$x,$i=0){global$v;return date($x,$i?mktime(0,0,0,$w,$i,$v ):strtotime($w));}?></tr></table>
- 441 名前:438 mailto:sage [2007/12/08(土) 02:02:58 ID:???]
- 手抜きバージョン。取り合えず表示されるみたいなので…
<?php function q($w,$x,$i=0){global$v;return date($x,$i?mktime(0,0,0,$w,$i,$v): strtotime($w));}list($v,$w,$d)=explode("-",$a=q("$_GET[y]-1","Y-m-t"));echo$l=" <a href=?y=",q($w-1,"Y-m",1),"><</a>$v-$w$l",q($w+1,"Y-m",1),">></a> $l>now</a> <table><tr>";for($i=-6-$f=q("$v-$w-1","w");$i<32;){echo$i<1-$f?"<th>".q($w,"D", $i)."</th>":"<td>".($i<1||$i>$d?"":$i)."</td>";if(($f+$i++)%7==0)echo"</tr><tr> ";}?></tr></table>
- 442 名前:438 mailto:sage [2007/12/08(土) 02:37:04 ID:???]
- HTMLダメダメの超手抜きバージョン。無理やり5行にしてみた。
<?php list($v,$w,$d)=explode("-",q("$_GET[y]-1","Y-m-t"));echo$l="<a href=?y=", q($w-1,"Y-m",1),"><</a>$v-$w$l",q($w+1,"Y-m",1),">></a> $l>now</a><table>";for( $i=-6-$f=q("$v-$w-1","w");$i<32;){echo$i<1-$f?"<th>".q($w,"D",$i)."</th>":"<td> ".($i<1||$i>$d?"":$i)."</td>";if(($f+$i++)%7==0)echo"</tr><tr>";}function q($w, $x,$i=0){global$v;return date($x,$i?mktime(0,0,0,$w,$i,$v):strtotime($w));}?>
- 443 名前:nobodyさん mailto:sage [2007/12/08(土) 22:33:30 ID:???]
- 閉じタグ無しでいいなら
<?php function q($w,$i=1,$x="Y-m"){global$v;return date($x,$i?mktime(0,0,0,$w, $i,$v):strtotime($w));}list($v,$w,$d)=explode("-",q("$_GET[y]-1",0,"Y-m-t")); echo$l="<a href=?y=",q($w-1),"><</a>$v-$w$l",q($w+1),">></a> $l>now</a><table>" ;for($i=-6-$f=q("$v-$w-1",0,"w");$i<32;){echo"<td>",($i<1-$f?q($w,$i,"D"):($i<1 ||$i>$d?"":$i)),($f+$i++)%7?"":"<tr>";}
- 444 名前:nobodyさん mailto:円柱都市age [2008/02/14(木) 04:21:18 ID:???]
- >>334 3年越しの7clap.
#!/usr/bin/perl use CGI":all";charset$c=Shift_JIS;sub d{($m,$m,$h,$d,$m,$y)=localtime(time-pop); $l[0]=(190001+$y*100+$m)*100+$d}param(K,$k=1+param K);($w=escapeHTML(param W))=~ y/\0- / /s;($C,$M,$L,$E,@M)=<DATA>;open L;flock L,2;open C;@l=d>(@c=<C>)[-1]?(d, (0)x25,$/):split/<>/,pop@c;@c<14||shift@c;$l[$_]++for$h+2,1;open C,">$C";print C @c,join"<>",@l;d 1209600;open M;@m=grep$l[0]<=$_,<M>;open M,">$M";print M@m,""ne $w&&d."<>$h<>$w<>\n";put header,start_html(-encoding,$c,lang,ja),$k<10?($M[rand@ M],startform,p(hidden(K),Comment,textfield(W),submit Clap),endform):p$E,end_html __DATA__ log.dat mes.dat >lock.dat 沢山の拍手を有り難うございました! 拍手が送信されました。ありがとうございました! 拍手が送信されました。ありがとうございますた! 拍手が送信されました。ありがとさ〜ん! ・flock非保護。
- 445 名前:nobodyさん mailto:ルルイエage [2008/02/16(土) 22:06:19 ID:???]
- >>327 7kaiseki.cgi
#!/usr/bin/perl use CGI":all";charset$c=Shift_JIS;($P,$C,$M)=<DATA>;($p=param P).$/ne$P&¨sub l{(sort@_)[-1]/10||1}sub d{@p=localtime time-86400*pop;$g=(190001+$p[5]*100+$p[4 ])*100+$p[3]}open C;%c=map{/<>/;$`,$'}<C>;($l,@l)=$c{$q=param(T)||d}=~/\d+/g;put header,start_html(-encoding,$c,lang,ja),h1($q),table((map{Tr td[$z++.':00',$_+0, "/"x($_/l@l)]}@l[0..23]),Tr td[Total,$l+0,""]),h1(Mes),dl(map{s/<>$//;/<>/;$`!=$ z&&dt($z=$`.':00'),dd$'}grep{s/$q<>//}open(M),<M>),h1(Past14day),table(map{Tr td [a({href,"?P=$p&T=".d$x++},$g),$_,"/"x($_/l@s)]}@s=map{$c{d$_}+0}0..13),end_html __DATA__ password log.dat mes.dat ・HTML適当。 ・ファイルロックなし。 ・DATAの1行目にパスワードを設定、「?P=password」でリクエスト。
- 446 名前:nobodyさん mailto:sage [2009/10/15(木) 22:52:19 ID:???]
- 最終カキコ一年前なのになんで落ちないんだ?
- 447 名前:nobodyさん mailto:sage [2009/10/16(金) 18:37:54 ID:???]
- >>446
cos this thread is very good! don't you think so?
|

|