どの辺が? タグを閉じていないあたり?
探検
七行プログラミング
358nobodyさん
2005/04/26(火) 17:50:19ID:???360nobodyさん
2005/04/27(水) 03:24:58ID:0BxullHs361nobodyさん
2005/04/27(水) 07:43:42ID:??? >>355
まぁでも、7行で基本機能を備えたwikiが使えるなら実世界でも結構有用じゃないか。
Text_Wikiの機能のデモにはなるでしょ。
むしろwiki技術関連スレ向きとは思うが。
向こうにも一応アンカー張ってあるね。
まぁでも、7行で基本機能を備えたwikiが使えるなら実世界でも結構有用じゃないか。
Text_Wikiの機能のデモにはなるでしょ。
むしろwiki技術関連スレ向きとは思うが。
向こうにも一応アンカー張ってあるね。
362nobodyさん
2005/04/28(木) 12:12:12ID:??? 流れを無視して、7vote が 7 行に収まったのでパッケージング。
#!perl
use CGI":all";charset$c='UTF-8';${$_}=param$_ for f,n,v;$f=~s/\W//g;open F,"+<$
f"if chdir V;eval{flock F,2};$t=<F>;/\t/and$D{$`}+=$' for<F>;seek F,0,0;$n?$D{$
n}||=1:$v&&$D{$v}++,print F$t,map"$_\t$D{$_}\n",keys%D if$n||$v;$L{$K[$i++]}=$_
for radio_group(v,[@K=sort{$D{$b}<=>$D{$a}}keys%D]);put header,start_html(-lang
,ja,encoding,$c,-Title,$t),h1($t),startform,table({},Tr[map{td["$L{$_}($D{$_})"
,hr{width,$D{$_}}]}@K]),hr,p(textfield(n),hidden(f,$F),submit),endform,end_html
UTF-8 になったのがちょっと悔しい。
ファイル名は \w+ にしました。
#!perl
use CGI":all";charset$c='UTF-8';${$_}=param$_ for f,n,v;$f=~s/\W//g;open F,"+<$
f"if chdir V;eval{flock F,2};$t=<F>;/\t/and$D{$`}+=$' for<F>;seek F,0,0;$n?$D{$
n}||=1:$v&&$D{$v}++,print F$t,map"$_\t$D{$_}\n",keys%D if$n||$v;$L{$K[$i++]}=$_
for radio_group(v,[@K=sort{$D{$b}<=>$D{$a}}keys%D]);put header,start_html(-lang
,ja,encoding,$c,-Title,$t),h1($t),startform,table({},Tr[map{td["$L{$_}($D{$_})"
,hr{width,$D{$_}}]}@K]),hr,p(textfield(n),hidden(f,$F),submit),endform,end_html
UTF-8 になったのがちょっと悔しい。
ファイル名は \w+ にしました。
363nobodyさん
2005/11/07(月) 20:21:27ID:??? 半年ぶりフォーーーーーーーーーーーーーーーーーーーーーー
364nobodyさん
2005/11/23(水) 11:59:34ID:8dGTpf7c 良スレあげ
365nobodyさん
2006/01/21(土) 13:50:12ID:??? #!/usr/bin/perl
my@d=([qw/@ A B C D E F G H I J K L M/],[qw/☆ △ ■/]);
my$c='Shift_JIS';my$l='ja';use CGI':standard';my@r=(0)x@d;
print header(-charset=>$c),start_html(-encoding=>$c,-lang=>$l),start_form,
(map{my$i=$_;ul li[(map{$r[$i]+=param($_);$_.textfield -name=>$_}@{$d[$i]}),
"計 $r[$i]"]}0..$#d),ul(li"$r[1]÷$r[0]=".eval{$r[1]/$r[0]}),submit,end_form,
end_html;
my@d=([qw/@ A B C D E F G H I J K L M/],[qw/☆ △ ■/]);
my$c='Shift_JIS';my$l='ja';use CGI':standard';my@r=(0)x@d;
print header(-charset=>$c),start_html(-encoding=>$c,-lang=>$l),start_form,
(map{my$i=$_;ul li[(map{$r[$i]+=param($_);$_.textfield -name=>$_}@{$d[$i]}),
"計 $r[$i]"]}0..$#d),ul(li"$r[1]÷$r[0]=".eval{$r[1]/$r[0]}),submit,end_form,
end_html;
366nobodyさん
2006/01/21(土) 23:54:14ID:e+ke+qvM なぜ丸付き数字と図形なのかわからんけど面白いですね。
どういうときに使えるだろう・・・。と考えてしまう
どういうときに使えるだろう・・・。と考えてしまう
367クロエ
2006/01/22(日) 02:56:50ID:??? http://tool-6.net/?0001
イメージ的には、こんな感じなんですが…。【1】,「@〜Mまで入力した数値を総計。」
【2】,「A+B+Cに入力した数値を総計。」
【3】,「【2】÷【1】×100」っていう演算プログラムなんですが…。
イメージ的には、こんな感じなんですが…。【1】,「@〜Mまで入力した数値を総計。」
【2】,「A+B+Cに入力した数値を総計。」
【3】,「【2】÷【1】×100」っていう演算プログラムなんですが…。
368365
2006/01/22(日) 10:02:46ID:??? >>367
仕様変更は34,000円からになっておりますw
話の流れがわからない人はhttp://pc8.2ch.net/test/read.cgi/tech/1134327348/756-
>>365はかなりゆとりがあったので7Excelにしてみた。
スタイルシートを別ファイルにしてもいいならまだまだいけそうだ。
#!/usr/bin/perl
@x='A'..'G';@y=1..10;$c='Shift_JIS';use CGI':all';@r=(0)x(@x+1);print header(
-charset=>$c),start_html(-encoding=>$c,-lang=>'ja',-head=>style({-type=>
'text/css'},'table{border-collapse:collapse}input,th{width:50px}td{text-align:
right}td,th{border:1px solid gray}')),start_form,table(Tr(map th($_),'',@x,''),
(map{$i=$_;$s=0;Tr td[$_,(map{$p=param"$i$x[$_]";$s+=$p;$r[$_]+=$p;textfield
"$i$x[$_]"}0..$#x),($r[-1]+=$s,$s)[1]]}@y),Tr td['',@r]),submit,end_form,end_html
仕様変更は34,000円からになっておりますw
話の流れがわからない人はhttp://pc8.2ch.net/test/read.cgi/tech/1134327348/756-
>>365はかなりゆとりがあったので7Excelにしてみた。
スタイルシートを別ファイルにしてもいいならまだまだいけそうだ。
#!/usr/bin/perl
@x='A'..'G';@y=1..10;$c='Shift_JIS';use CGI':all';@r=(0)x(@x+1);print header(
-charset=>$c),start_html(-encoding=>$c,-lang=>'ja',-head=>style({-type=>
'text/css'},'table{border-collapse:collapse}input,th{width:50px}td{text-align:
right}td,th{border:1px solid gray}')),start_form,table(Tr(map th($_),'',@x,''),
(map{$i=$_;$s=0;Tr td[$_,(map{$p=param"$i$x[$_]";$s+=$p;$r[$_]+=$p;textfield
"$i$x[$_]"}0..$#x),($r[-1]+=$s,$s)[1]]}@y),Tr td['',@r]),submit,end_form,end_html
369365
2006/01/22(日) 16:39:32ID:??? use Storable;$f='file';$s=8;$c='Shift_JIS';%p=qw/-1 〇 0 _ 1 ●/;@m=map([map 0
,0..$s+2],0..$s+2);($x,$y)=map param($_)%($s+1),qw/x y/;$r=1;use CGI':all';sub
f2{my($w,$y,$x,$c)=@_;$u=1;if(0>$r*$m[$y][$x]){$c++;$m[$y][$x]*=$u=f2($w,$y+$w
->[0],$x+$w->[1],$c)}elsif(0<$c&&0<$r*$m[$y][$x]){$u*=-1}$u}sub r{if($y&&$x&&!
$m[$y][$x]){for(0..7){$i=$_*atan2 1,1;$l=[map int(sprintf'%f',$_*sqrt 2),sin$i,
cos$i];$z++if 0>f2$l,$y+$l->[0],$x+$l->[1]}if($z){$m[$y][$x]=$r;$r*=-1}}}$m[$s/
2+(0<($_&2))][$s/2+(0<($_&1))]=$_%3?1:-1 for 0..3;($r,@m)=@{retrieve$f}if-s$f;r
;store[$r,@m],$f;print header(-charset=>$c),start_html(-encoding=>$c,-lang=>
'ja'),table(Tr[map{$i=$_;td[map a({-href=>"o.cgi?y=$i&x=$_"},$p{$m[$i][$_]}),1
..$s]}1..$s]),$p{$r},end_html;
7オセロ?
o.cgiで保存。
同じディレクトリに記録用ファイルの "file" を作成。
要 Storable.pm (Active Perl なら最初から入っているはず)
リセットは手動で "file" を空にするw
7行に収まると思ったけど見込みが甘かった。
,0..$s+2],0..$s+2);($x,$y)=map param($_)%($s+1),qw/x y/;$r=1;use CGI':all';sub
f2{my($w,$y,$x,$c)=@_;$u=1;if(0>$r*$m[$y][$x]){$c++;$m[$y][$x]*=$u=f2($w,$y+$w
->[0],$x+$w->[1],$c)}elsif(0<$c&&0<$r*$m[$y][$x]){$u*=-1}$u}sub r{if($y&&$x&&!
$m[$y][$x]){for(0..7){$i=$_*atan2 1,1;$l=[map int(sprintf'%f',$_*sqrt 2),sin$i,
cos$i];$z++if 0>f2$l,$y+$l->[0],$x+$l->[1]}if($z){$m[$y][$x]=$r;$r*=-1}}}$m[$s/
2+(0<($_&2))][$s/2+(0<($_&1))]=$_%3?1:-1 for 0..3;($r,@m)=@{retrieve$f}if-s$f;r
;store[$r,@m],$f;print header(-charset=>$c),start_html(-encoding=>$c,-lang=>
'ja'),table(Tr[map{$i=$_;td[map a({-href=>"o.cgi?y=$i&x=$_"},$p{$m[$i][$_]}),1
..$s]}1..$s]),$p{$r},end_html;
7オセロ?
o.cgiで保存。
同じディレクトリに記録用ファイルの "file" を作成。
要 Storable.pm (Active Perl なら最初から入っているはず)
リセットは手動で "file" を空にするw
7行に収まると思ったけど見込みが甘かった。
370クロエ
2006/01/23(月) 02:25:04ID:??? >>365
本当にありがとうございます。設置の仕方が分かりませんorz orz orz
今日6時間くらい、CGIについて解説してあるサイトを隅から隅まで見ましたが、収穫なしですwww
ばかん ばかん 俺のばかん
テキストエディタ?を使うんですか?
本当にありがとうございます。設置の仕方が分かりませんorz orz orz
今日6時間くらい、CGIについて解説してあるサイトを隅から隅まで見ましたが、収穫なしですwww
ばかん ばかん 俺のばかん
テキストエディタ?を使うんですか?
371nobodyさん
2006/01/23(月) 03:02:02ID:???372クロエ
2006/01/23(月) 16:06:04ID:???374クロエ
2006/01/23(月) 18:13:14ID:??? 372であってますか?
375nobodyさん
2006/01/23(月) 18:19:38ID:???376nobodyさん
2006/01/23(月) 19:29:44ID:??? ($f,$s,$r,@p)=qw/file 8 1 _ ● 〇/;use Storable;use CGI':all';sub f{$u=1;my($y
,$x,$c)=@_;if(0>($t=$r*$m[$y][$x])){$m[$y][$x]*=f($y+$p,$x+$n,1)}elsif($c&$t){
$u=-1;$z++}$u}$$_=param($_)%($s+1)for qw/x y/;@m=map[(0)x$s+1],0..$s+1;map$m[$s
/2+$_/2][$s/2+$_%2]=$_%3?1:-1,0..3;($r,@m)=@{retrieve$f}if-s$f;$o=\$m[$y][$x];
if($y&&$x&&!$$o){for(0..7){($p,$n)=map sprintf('%.f',$_),sin($i=$_*0.78),cos$i;
f$y+$p,$x+$n}$$o=$r,$r*=-1 if$z}store[$r,@m],$f;charset '';print header,$p[$r],
table Tr[map{$i=$_;td[map a({href,"?y=$i&x=$_"},$p[$m[$i][$_]]),1..$s]}1..$s]
昨日の続きで7オセロ!
モジュール詳しくないからやらないけどモジュール*だけ*で構成なんてのも面白そうだ。
,$x,$c)=@_;if(0>($t=$r*$m[$y][$x])){$m[$y][$x]*=f($y+$p,$x+$n,1)}elsif($c&$t){
$u=-1;$z++}$u}$$_=param($_)%($s+1)for qw/x y/;@m=map[(0)x$s+1],0..$s+1;map$m[$s
/2+$_/2][$s/2+$_%2]=$_%3?1:-1,0..3;($r,@m)=@{retrieve$f}if-s$f;$o=\$m[$y][$x];
if($y&&$x&&!$$o){for(0..7){($p,$n)=map sprintf('%.f',$_),sin($i=$_*0.78),cos$i;
f$y+$p,$x+$n}$$o=$r,$r*=-1 if$z}store[$r,@m],$f;charset '';print header,$p[$r],
table Tr[map{$i=$_;td[map a({href,"?y=$i&x=$_"},$p[$m[$i][$_]]),1..$s]}1..$s]
昨日の続きで7オセロ!
モジュール詳しくないからやらないけどモジュール*だけ*で構成なんてのも面白そうだ。
378376
2006/01/23(月) 21:15:02ID:??? ($f,$s,$r,@p)=qw/file 8 1 _ ● 〇/;use Storable;use CGI':all';sub f{$u=1;my($y
,$x,$c)=@_;if(0>($t=$r*$m[$y][$x])){$m[$y][$x]*=f($y+$p,$x+$n,1)}elsif($c&$t){
$u=-1;$z++}$u}$$_=param($_)%($s+1)for qw/x y/;@m=map[(0)x($s+1)],0..$s+1;map$m[
$s/2+$_/2][$s/2+$_%2]=$_%3?1:-1,0..3;($r,@m)=@{retrieve$f}if-s$f;$o=\$m[$y][$x]
;if($y&&$x&&!$$o){for(0..7){($p,$n)=map sprintf('%.f',$_),sin($i=$_*0.78),cos$i
;f$y+$p,$x+$n}$$o=$r,$r*=-1 if$z}store[$r,@m],$f;charset '';print header,$p[$r]
,table Tr[map{$i=$_;td[map a({href,"?y=$i&x=$_"},$p[$m[$i][$_]]),1..$s]}1..$s]
括弧はずしすぎでバグっていたので修正
ファイル名省略すると Lynx じゃ動かないね。
,$x,$c)=@_;if(0>($t=$r*$m[$y][$x])){$m[$y][$x]*=f($y+$p,$x+$n,1)}elsif($c&$t){
$u=-1;$z++}$u}$$_=param($_)%($s+1)for qw/x y/;@m=map[(0)x($s+1)],0..$s+1;map$m[
$s/2+$_/2][$s/2+$_%2]=$_%3?1:-1,0..3;($r,@m)=@{retrieve$f}if-s$f;$o=\$m[$y][$x]
;if($y&&$x&&!$$o){for(0..7){($p,$n)=map sprintf('%.f',$_),sin($i=$_*0.78),cos$i
;f$y+$p,$x+$n}$$o=$r,$r*=-1 if$z}store[$r,@m],$f;charset '';print header,$p[$r]
,table Tr[map{$i=$_;td[map a({href,"?y=$i&x=$_"},$p[$m[$i][$_]]),1..$s]}1..$s]
括弧はずしすぎでバグっていたので修正
ファイル名省略すると Lynx じゃ動かないね。
379nobodyさん
2006/01/23(月) 21:31:39ID:??? >>378
パスできない仕様はどうかと。
ファイルに記録するより Cookie にでも持たせた方がいいんじゃない?
参考に C の6行オセロを Perl に移植してみた。
オリジナルより数 byte 大きい。 ;-)
#!/usr/local/bin/perl
sub K{$m[$p]||do{for(@m[0..7]){$v=$p+$_;$v+=$_ while$m[$v]==9-$t;if($v-$p-$_&&$
m[$v]==$t&&($a=$s=$v=$p,$d)){{$m[$v]=$t;$m[$v+=$_]-$t&&redo}}}}}@m[40,41,49,50,
0..7]=(3,6,6,3,-10..-8,-1,1,8..10);$s=$t=3;@c=(qw(・ ○ ●),$/);while($s-1){$_%
9?K$p=$_:($m[$_]=9),print$c[$m[$_]/3]for 9..81;$a?($a=$d=$p=9):$s?($s=0,print
"pass\n"):++$s;K$p+=$t-6?(($p,$_)=<>=~/\d/g,$_*9):1until$a-9;$t=9-$t;$a=$d=0}
パスできない仕様はどうかと。
ファイルに記録するより Cookie にでも持たせた方がいいんじゃない?
参考に C の6行オセロを Perl に移植してみた。
オリジナルより数 byte 大きい。 ;-)
#!/usr/local/bin/perl
sub K{$m[$p]||do{for(@m[0..7]){$v=$p+$_;$v+=$_ while$m[$v]==9-$t;if($v-$p-$_&&$
m[$v]==$t&&($a=$s=$v=$p,$d)){{$m[$v]=$t;$m[$v+=$_]-$t&&redo}}}}}@m[40,41,49,50,
0..7]=(3,6,6,3,-10..-8,-1,1,8..10);$s=$t=3;@c=(qw(・ ○ ●),$/);while($s-1){$_%
9?K$p=$_:($m[$_]=9),print$c[$m[$_]/3]for 9..81;$a?($a=$d=$p=9):$s?($s=0,print
"pass\n"):++$s;K$p+=$t-6?(($p,$_)=<>=~/\d/g,$_*9):1until$a-9;$t=9-$t;$a=$d=0}
381nobodyさん
2006/01/24(火) 00:41:03ID:??? @x='A'..'G';@y=1..10;@s=qw/合計 平均/;use CGI':all';charset '';print header,
style({type,'text/css'},'table{border-collapse:collapse}td,input{text-align:
right;width:70px}td,th{border:1px solid gray}'),start_form,table(Tr[th(['',@x,
@s]),(map{$i=$_;$s=0;$n=0;td[$_,(map{$p=param"$x[$_]$i";($t=$s)==($s+=$p)||$n++
;($t=$r[$_])==($r[$_]+=$p)||$v[$_]++;textfield"$x[$_]$i"}0..$#x),($r[@x]+=$s,$s
,eval{$s/$n})[1,2]]}@y),td([$s[0],@r,'']),td[$s[1],map($v[$_]?sprintf('%.3f',(
$c++,($t=$r[$_]/$v[$_]),$v+=$t)[1]):'',0..@x),eval{$v/$c}]]),submit,end_form;
>>368 がいまいち糞コードになりきれていなかったので平均の計算も追加。おやすみ〜 ノシ
style({type,'text/css'},'table{border-collapse:collapse}td,input{text-align:
right;width:70px}td,th{border:1px solid gray}'),start_form,table(Tr[th(['',@x,
@s]),(map{$i=$_;$s=0;$n=0;td[$_,(map{$p=param"$x[$_]$i";($t=$s)==($s+=$p)||$n++
;($t=$r[$_])==($r[$_]+=$p)||$v[$_]++;textfield"$x[$_]$i"}0..$#x),($r[@x]+=$s,$s
,eval{$s/$n})[1,2]]}@y),td([$s[0],@r,'']),td[$s[1],map($v[$_]?sprintf('%.3f',(
$c++,($t=$r[$_]/$v[$_]),$v+=$t)[1]):'',0..@x),eval{$v/$c}]]),submit,end_form;
>>368 がいまいち糞コードになりきれていなかったので平均の計算も追加。おやすみ〜 ノシ
382378
2006/01/24(火) 00:44:20ID:???384nobodyさん
2006/01/25(水) 22:06:31ID:??? 初回起動時からの累計と過去1週間の日別カウンタ。
設定を変えれば一日の時間別みたいな使い方もできる。
($f,$l,$z)=qw{./counter.dat 7 5};use CGI':all';sub d{sprintf
'%d年%02d月%02d日(%s)',1900+$_[5],1+$_[4],$_[3],(qw/日 月 火 水 木 金 土/)[$_[6
]]}sub n{sprintf"%0${z}d回",shift}$n=time;$d=24*60*60;$p=$n-$n%$d;if(open F,
"+<$f"){eval{flock F,2};($s,@d)=map[split/\s+/],<F>;$s->[0]||=$n;$s->[1]++;$p==
$d[0][0]?$d[0][1]++:unshift@d,[$p,1];$n-=$d*$l;seek F,0,0;printf F"%d\t%010d\n"
,@$_ for@d=($s,grep$n<$_->[0],splice@d,0,$l);truncate F,tell F;close F}charset
'';print header,ul map{li b(n$_->[1]),d localtime$_->[0]}@d
設定を変えれば一日の時間別みたいな使い方もできる。
($f,$l,$z)=qw{./counter.dat 7 5};use CGI':all';sub d{sprintf
'%d年%02d月%02d日(%s)',1900+$_[5],1+$_[4],$_[3],(qw/日 月 火 水 木 金 土/)[$_[6
]]}sub n{sprintf"%0${z}d回",shift}$n=time;$d=24*60*60;$p=$n-$n%$d;if(open F,
"+<$f"){eval{flock F,2};($s,@d)=map[split/\s+/],<F>;$s->[0]||=$n;$s->[1]++;$p==
$d[0][0]?$d[0][1]++:unshift@d,[$p,1];$n-=$d*$l;seek F,0,0;printf F"%d\t%010d\n"
,@$_ for@d=($s,grep$n<$_->[0],splice@d,0,$l);truncate F,tell F;close F}charset
'';print header,ul map{li b(n$_->[1]),d localtime$_->[0]}@d
385nobodyさん
2006/01/25(水) 22:08:08ID:??? 7CMS
このスレで作った >>365 >>378 >>381 >>384 をモジュール化して一元管理する。
サードパーティー製品でもCGI.pmを使ったものなら大丈夫かも。
>>137 >>274 は一応動いた。
使い方は全部同じディレクトリに入れればいいだけだから。
use CGI':all';$d=param '*';@r=[$0=~/([^\\\/]+)$/,'START'];$p=$`;for$n(<*>){if($r
[0][0]ne$n&&$n=~/\.cgi$/){$r='';chdir$p;open F,$n;read F,$c,-s F;tie*G=*STDOUT,
'main';eval"package C$`;$c";untie*G;$r=~s/^.+?(\r?\n){2}//s;$r=~s/(<a\s.*?\?)(.
*?>)/$1*=$d&$2/gisx;$r=~s!(?=</for)!hidden -name,'*',-value,$d!egi;push@r,[
$n,$r.$@]}}AUTOLOAD{ref(shift)?($r.=join'',@_):bless[]}charset '';put header,
table Tr td{style=>'vertical-align:top;text-align:left;border:1px solid gray'},
[ul(li[map a({href,"?*=$_"},$d==$_?b($r[$_][0]):$r[$_][0]),0..$#r]),$r[$d][1]]
このスレで作った >>365 >>378 >>381 >>384 をモジュール化して一元管理する。
サードパーティー製品でもCGI.pmを使ったものなら大丈夫かも。
>>137 >>274 は一応動いた。
使い方は全部同じディレクトリに入れればいいだけだから。
use CGI':all';$d=param '*';@r=[$0=~/([^\\\/]+)$/,'START'];$p=$`;for$n(<*>){if($r
[0][0]ne$n&&$n=~/\.cgi$/){$r='';chdir$p;open F,$n;read F,$c,-s F;tie*G=*STDOUT,
'main';eval"package C$`;$c";untie*G;$r=~s/^.+?(\r?\n){2}//s;$r=~s/(<a\s.*?\?)(.
*?>)/$1*=$d&$2/gisx;$r=~s!(?=</for)!hidden -name,'*',-value,$d!egi;push@r,[
$n,$r.$@]}}AUTOLOAD{ref(shift)?($r.=join'',@_):bless[]}charset '';put header,
table Tr td{style=>'vertical-align:top;text-align:left;border:1px solid gray'},
[ul(li[map a({href,"?*=$_"},$d==$_?b($r[$_][0]):$r[$_][0]),0..$#r]),$r[$d][1]]
386nobodyさん
2006/01/26(木) 18:42:38ID:??? hage
387nobodyさん
2006/01/26(木) 21:31:03ID:??? 7メル
($p,$t,$s)=('/usr/sbin/sendmail','mail@example.com','メールフォームから');use
CGI':all';$$_=param $_ for qw/f m/;($f)=$f=~/^([\w.-]{1,64}\@[\w.-]{1,128})$/i;
($m=substr$m,0,2**16)=~tr/\0/ /;$m=~s/\r\n?/\n/g;$m=~s/^\.$/../gm;charset '';put
header,startform,'あなたのメールアドレス',textfield(-name,'f'),br,'メッセージ',
br,textarea(-name,'m',-rows,10,-cols,60),br,submit,endform;if($f&&$m&&open M,
"| $p -t"){print(M join"\n",'Content-Transfer-Encoding: 8bit',"Reply-To: <$f>",
"To: <$t>","Subject: $s",'',$m,'')&&put '管理者へ送信しました。';close M}
($p,$t,$s)=('/usr/sbin/sendmail','mail@example.com','メールフォームから');use
CGI':all';$$_=param $_ for qw/f m/;($f)=$f=~/^([\w.-]{1,64}\@[\w.-]{1,128})$/i;
($m=substr$m,0,2**16)=~tr/\0/ /;$m=~s/\r\n?/\n/g;$m=~s/^\.$/../gm;charset '';put
header,startform,'あなたのメールアドレス',textfield(-name,'f'),br,'メッセージ',
br,textarea(-name,'m',-rows,10,-cols,60),br,submit,endform;if($f&&$m&&open M,
"| $p -t"){print(M join"\n",'Content-Transfer-Encoding: 8bit',"Reply-To: <$f>",
"To: <$t>","Subject: $s",'',$m,'')&&put '管理者へ送信しました。';close M}
388nobodyさん
2006/01/26(木) 21:31:54ID:??? 7カレ
@c=([('silver')x 7],[('red',('black')x 5,'blue')],'lavender');use CGI':all';$s=
24*60*60;@t=localtime($t=time);@r=td{align=>'right',bgcolor=>$c[2]},font{color
=>$c[1][$t[6]]},b $t[3];@t1=localtime($i=$t-$s);while($t[4]==$t1[4]||$t1[6]<6){
unshift@r,td{align=>'right'},font{color=>$c[$t[4]==$t1[4]][$t1[6]]},$t1[3];@t1=
localtime($i-=$s)}@t2=localtime($i=$t+$s);while($t[4]==$t2[4]||0<$t2[6]){push@r
,td{align=>'right'},font{color=>$c[$t[4]==$t2[4]][$t2[6]]},$t2[3];@t2=localtime
($i+=$s)}charset '';put header,table Tr[map join('',@r[7*$_..7*($_+1)-1]),0..$#r]
@c=([('silver')x 7],[('red',('black')x 5,'blue')],'lavender');use CGI':all';$s=
24*60*60;@t=localtime($t=time);@r=td{align=>'right',bgcolor=>$c[2]},font{color
=>$c[1][$t[6]]},b $t[3];@t1=localtime($i=$t-$s);while($t[4]==$t1[4]||$t1[6]<6){
unshift@r,td{align=>'right'},font{color=>$c[$t[4]==$t1[4]][$t1[6]]},$t1[3];@t1=
localtime($i-=$s)}@t2=localtime($i=$t+$s);while($t[4]==$t2[4]||0<$t2[6]){push@r
,td{align=>'right'},font{color=>$c[$t[4]==$t2[4]][$t2[6]]},$t2[3];@t2=localtime
($i+=$s)}charset '';put header,table Tr[map join('',@r[7*$_..7*($_+1)-1]),0..$#r]
389nobodyさん
2006/01/26(木) 21:32:37ID:??? 何でもいいからボケッと見てないでおまいらも参加しる!
390nobodyさん
2006/01/27(金) 16:58:32ID:KYetQvuJ require "cgi-lib.pl";
&ReadParse;if($ENV{'REQUEST_METHOD'} eq 'POST'){if ($in{'imagefile'})
{open(WRITEFILE,'>', "datafile");binmode(WRITEFILE);print WRITEFILE $in{'imagefile'};close(WRITEFILE);}}
7うp掲示板
これ以上はムリポ
&ReadParse;if($ENV{'REQUEST_METHOD'} eq 'POST'){if ($in{'imagefile'})
{open(WRITEFILE,'>', "datafile");binmode(WRITEFILE);print WRITEFILE $in{'imagefile'};close(WRITEFILE);}}
7うp掲示板
これ以上はムリポ
392nobodyさん
2006/01/27(金) 22:18:05ID:??? 7ナビ
同一階層以下のHTMLにリンクを貼る。携帯用サイトマップみたいなもん。
$d='./';$e='s?html?';$n=10;@l=(['prev',-1],['next',1]);use CGI':all';sub r{my(
$d,$e)=@_;map{if(-d){r($_,$e)}elsif(/\.$e$/&&$p<=$c++&&$c<=$p+$n&&open F,$_){-B
||read F,$h,2**16;close F;$h=~/>\s*([^<>]*?)\s*<\/ti/is;[$_,$1||$_]}else{()}}
<$d/*>}$p+=param 'p';($d)=$d=~/(.+?)[\\\/]*$/;@r=r$d,$e;if($p<0){$p=$c-$c%$n;$c
=0;@r=r$d,$e}elsif(!@r){$p=0;$c=0;@r=r$d,$e}charset '';put header,dl dt(map a({
href=>"?p=".($p+$n*$_->[1])},$_->[0]),@l),dd{style=>'margin:0px'},join"\n",ol({
start=>1+$p},li[map a({href=>$_->[0]},$_->[1]),@r]),p"$c files"
同一階層以下のHTMLにリンクを貼る。携帯用サイトマップみたいなもん。
$d='./';$e='s?html?';$n=10;@l=(['prev',-1],['next',1]);use CGI':all';sub r{my(
$d,$e)=@_;map{if(-d){r($_,$e)}elsif(/\.$e$/&&$p<=$c++&&$c<=$p+$n&&open F,$_){-B
||read F,$h,2**16;close F;$h=~/>\s*([^<>]*?)\s*<\/ti/is;[$_,$1||$_]}else{()}}
<$d/*>}$p+=param 'p';($d)=$d=~/(.+?)[\\\/]*$/;@r=r$d,$e;if($p<0){$p=$c-$c%$n;$c
=0;@r=r$d,$e}elsif(!@r){$p=0;$c=0;@r=r$d,$e}charset '';put header,dl dt(map a({
href=>"?p=".($p+$n*$_->[1])},$_->[0]),@l),dd{style=>'margin:0px'},join"\n",ol({
start=>1+$p},li[map a({href=>$_->[0]},$_->[1]),@r]),p"$c files"
393nobodyさん
2006/01/27(金) 22:19:01ID:??? 7 httpd
これはCGIじゃないよ。
起動でlistenとhttp://127.0.0.1/index.htmlで表示。
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}}
これはCGIじゃないよ。
起動でlistenとhttp://127.0.0.1/index.htmlで表示。
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}}
394nobodyさん
2006/01/30(月) 04:20:47ID:??? みんながんがれ!!
395nobodyさん
2006/02/10(金) 18:36:50ID:??? うぅ、ここPerl限定なのか…
PHPスレ欲しいな。
PHPスレ欲しいな。
396nobodyさん
2006/02/10(金) 18:41:19ID:??? phpもOKみたいだぞ。
397クロエ
2006/02/12(日) 00:31:01ID:VpXKciXc >>368
365だと367の最後の×100が反映されないんですが…。せんせぇ、お願いします。
365だと367の最後の×100が反映されないんですが…。せんせぇ、お願いします。
398nobodyさん
2006/02/15(水) 07:50:04ID:Q8DDLS00 てめえらどうした!?
探求心はつきたか?
探求心はつきたか?
399nobodyさん
2006/02/19(日) 19:16:08ID:YpSh6qb6 昔作った今月のカレンダー表示スクリプト。
($$,$:,$;,$=)=(localtime)[3..6];printf"%2d%s",$_,++$=%7?$":$/for(print($;+
1900,'/',$:+1,"/$$\n",$"x(($=-=$$-1)%7*3))..28+($:-1?3-$:%7%2:!($;%4)))
($$,$:,$;,$=)=(localtime)[3..6];printf"%2d%s",$_,++$=%7?$":$/for(print($;+
1900,'/',$:+1,"/$$\n",$"x(($=-=$$-1)%7*3))..28+($:-1?3-$:%7%2:!($;%4)))
400nobodyさん
2006/02/28(火) 10:19:55ID: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>';
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>';
401nobodyさん
2006/03/10(金) 16:20:32ID: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
ページ削除機能が実装されてないので、もうちょっと改良が必要っす。
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
ページ削除機能が実装されてないので、もうちょっと改良が必要っす。
402nobodyさん
2006/03/10(金) 18:39:49ID:??? おまいら、このスレ出ている7行プログラムを、
インデント付けて整形するプログラムをどうか7行以内で書いてもらえませんか。
インデント付けて整形するプログラムをどうか7行以内で書いてもらえませんか。
403nobodyさん
2006/03/10(金) 20:42:29ID:??? >>402
モジュールの力を借りずに Perl の構文解析器を七行で書くのは
絶望的だし、この手のコードは多分に恣意的なインデントや桁揃え
をしないと読み易くもならない。
ので、手っ取り早く「バラし」て流れを読みたいのなら、これで充分。
perl -MO=Deparse script.in > script.out
もちろんチャレンジ精神を否定しているのではないよ。:o)
モジュールの力を借りずに Perl の構文解析器を七行で書くのは
絶望的だし、この手のコードは多分に恣意的なインデントや桁揃え
をしないと読み易くもならない。
ので、手っ取り早く「バラし」て流れを読みたいのなら、これで充分。
perl -MO=Deparse script.in > script.out
もちろんチャレンジ精神を否定しているのではないよ。:o)
405nobodyさん
2006/03/11(土) 17:24:08ID:???406nobodyさん
2006/03/12(日) 19:32:59ID:??? <?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);?>
これはあまり安全じゃないよ。
フォーム作るゆとりなかったからアドレスバーの数字を直接いじってみて〜
http://127.0.0.1/r.php?s=200&d=5+6+9+8+3+7+2
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);?>
これはあまり安全じゃないよ。
フォーム作るゆとりなかったからアドレスバーの数字を直接いじってみて〜
http://127.0.0.1/r.php?s=200&d=5+6+9+8+3+7+2
407nobodyさん
2006/03/14(火) 00:29:05ID:??? そのうち7行山田ウイルスとか出てきそうな予感
408nobodyさん
2006/03/15(水) 00:31:04ID:??? 7行Webサーバができるなら山田もいけそうだな
409nobodyさん
2006/03/26(日) 01:13:16ID:??? 7行OS
410nobodyさん
2006/03/32(土) 00:29:48ID:WFUzL8FS あれ、7行WEBサーバってなかったっけ?
411nobodyさん
2006/06/12(月) 12:59:18ID:??? 過疎スレになっちゃったな。
412nobodyさん
2006/06/12(月) 21:26:04ID:NzZJH7e1 先日、会社でちょっとした7行ゲームを作ったんだけど、
社内でやっちまったんで、持ち出せないんだよな。
7行といっても7分で出来るわけじゃないんだよな。
社内でやっちまったんで、持ち出せないんだよな。
7行といっても7分で出来るわけじゃないんだよな。
413nobodyさん
2006/07/23(日) 02:39:55ID:8Se2GPZR 七行Blog
415nobodyさん
2006/07/31(月) 00:02:46ID:??? うpキボンヌ
($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トリップ判定。
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トリップ判定。
420nobodyさん
2006/10/13(金) 18:11:25ID: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;
モジュールてんこ盛りなのでもっと短く書けるはず
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;
421sage
2006/10/13(金) 18:14:55ID:??? test
422nobodyさん
2006/10/13(金) 18:17:21ID:yRLkeiwT >>421
まさか7行で2chに書き込めるスクリプトを?!
まさか7行で2chに書き込めるスクリプトを?!
423nobodyさん
2006/10/13(金) 22:26:56ID:??? 7行も要らんけどな
424nobodyさん
2006/10/13(金) 23:51:02ID:??? 書き込みのモジュールなんてあった??<<Perl脳
425nobodyさん
2006/10/14(土) 00:15:13ID:??? 書き込みっつーかPOSTするだけだろ
427nobodyさん
2006/10/14(土) 01:32:50ID:??? 私はPHPならなんとか作れそうだが、それ以前に2chの仕様を勉強しなくちゃだな。
428nobodyさん
2006/10/14(土) 01:42:28ID:??? POST先はbbs.cgiだけどな
430nobodyさん
2006/10/14(土) 06:34:52ID:??? >>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
縮めた。
#!/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
432nobodyさん
2006/10/14(土) 15:01:38ID:??? >>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
二行半も空いてるけど付け加える機能を思いつかず。
#!/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
二行半も空いてるけど付け加える機能を思いつかず。
433nobodyさん
2006/10/14(土) 15:13:56ID:??? >>432
未読管理機能なんかオススメ
二行半でやる方法は思い浮かばないorz
むしろ、どういう過程を経て効率的なソースが引けるようになったのかの方に興味あり苦笑
どこか参考にしたサイトとかあります?
未読管理機能なんかオススメ
二行半でやる方法は思い浮かばないorz
むしろ、どういう過程を経て効率的なソースが引けるようになったのかの方に興味あり苦笑
どこか参考にしたサイトとかあります?
434nobodyさん
2006/10/15(日) 11:53:37ID:??? >>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 とか。冗談でも何でもなく。
この遊びのノウハウなら http://cm.xrea.cc/techinfo.cgi に。
> 未読管理機能
ほい。新着タイトルを太字表示。
#!/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 とか。冗談でも何でもなく。
この遊びのノウハウなら http://cm.xrea.cc/techinfo.cgi に。
436aaz
2006/11/05(日) 22:18:14ID:???437nobodyさん
2007/05/08(火) 22:55:38ID:??? ほす
438nobodyさん
2007/12/01(土) 02:02:19ID:??? 月次移動可能なカレンダー。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));}?>
<?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));}?>
439nobodyさん
2007/12/06(木) 09:44:33ID:??? >>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は不得手なんで、これよりもっと縮む筈。
「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は不得手なんで、これよりもっと縮む筈。
440438
2007/12/08(土) 01:17:01ID:??? >>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>
凄いですね。いろんなことができるんだ、と感心しきり。
少しだけ縮めた。
<?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>
441438
2007/12/08(土) 02:02:58ID:??? 手抜きバージョン。取り合えず表示されるみたいなので…
<?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>
<?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>
442438
2007/12/08(土) 02:37:04ID:??? 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));}?>
<?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));}?>
443nobodyさん
2007/12/08(土) 22:33:30ID:??? 閉じタグ無しでいいなら
<?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>";}
<?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>";}
444nobodyさん
2008/02/14(木) 04:21:18ID:??? >>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非保護。
#!/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非保護。
445nobodyさん
2008/02/16(土) 22:06:19ID:??? >>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」でリクエスト。
#!/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」でリクエスト。
446nobodyさん
2009/10/15(木) 22:52:19ID:??? 最終カキコ一年前なのになんで落ちないんだ?
449nobodyさん
2017/12/30(土) 12:58:56.43ID:YhlYw6jg 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
WUFNFIRDC9
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
WUFNFIRDC9
450nobodyさん
2018/02/20(火) 05:11:48.16ID:??? ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
451nobodyさん
2018/06/20(水) 22:23:10.69ID:UnZq46Ab プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
9PV1J
9PV1J
452nobodyさん
2023/03/10(金) 00:09:48.43ID:??? (-。-)y-゚゚゚zzz… (*_*)y- アチ!
レスを投稿する
ニュース
- 【ネット民のツッコミ】立憲・野田代表の「事実上の撤回」発言がトレンド、「高市さんそんな事は言ってない」「流石に無理あるだろw」 [1ゲットロボ★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… ★2 [BFU★]
- 【文春】元TOKIO・国分太一(51)「女性スタッフ2名への“わいせつ事案”」日テレ事情聴取の全貌が分かった! ★5 [Ailuropoda melanoleuca★]
- 【工作員】「X」のアカウント所在地公開機能が暴いた世論操作の実態 MAGA支持著名アカウントの多くが米国外から運営 日本にも波及 ★3 [ごまカンパチ★]
- 【金沢地裁】「風俗嬢に着せようと」南砺の高校で女子バレー部のユニホームを窃盗した男が説明 検察側、拘禁刑4年を求刑 [nita★]
- 首相答弁「スパイ防止法、外国代理人登録法、ロビー活動公開法などについて速やかに法案を策定する」 [1ゲットロボ★]
- 久々にコウを見た
- 【高市悲報】中国「ふにゃふにゃ言いながら、時が自然に解決するのを期待する—そんなジャップ流は決して通用しない」 [115996789]
- 金無さすぎてワロタ
- 【悲報】ゼレンスキー大統領、和平案に大筋合意 ホンコンみたいなウヨ芸人を大統領にするとこうなる [455031798]
- すぎるんです
- あたりまえ~♪あたりまえ~♪あたりまえたいそー♫
