七行プログラミング (452レス)
上下前次1-新
抽出解除 レス栞
274(3): 7wiki [sage] 04/03/14 15:28 ID:??? AAS
use CGI":all";charset$c="EUC-JP";$w='\b(([A-Z][a-z]+){2,})';$f=script_name;$/=(
);($p)=path_info=~/$w/;$p||=FrontPage;request_method=~PO&!($m=param z)&&unlink$
p;open F,$m?">$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:"?"|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
・「〜/7wiki.cgi/」に対応。
277(1): SevenLines の中の人 [sage] 04/03/14 15:52 ID:??? AAS
>>274-276 の三つ、問題無いようでしたらサイトに載せます。
7uploader と 7Hoo は仕様や出力を随分いぢってしまったので、
軌道修正もお願いします。(w >原作者殿
作業用のアップローダ用意しましたので、ファイルの受け渡しに
ご利用下さい。 外部リンク[cgi]:cm.xrea.cc
TODO: 7rwcntr > telnetd > Unit7 > Store7 > 7vote
telnetd と accesslog.cgi は 202 さんと 266 さんに掲載許可を
頂け次第サイトに載せようと思ってますので、適用ライセンス等
ご連絡下されば幸いです。
292: SevenLines の中の人 [sage] 04/03/23 12:22 ID:??? AAS
7wiki (>>274) 、7Hoo (>>276276(2): 7Hoo [sage] 04/03/14 15:31 ID:??? AAS
use CGI":all";charset$c="EUC-JP";($p=path_info||Home)=~s!^/+|/+$!!g;chdir"./$p"
||die;$F='.7hoo';s/\s/ /g for@p=map{param$_}U,T,D;open(F,">>$F"),eval{flock F,2
},$"="\t",print F"@p\n"if@p;sub A{a{href,url.pop},$_}sub e{escapeHTML@N[@_]}put
header,start_html(-title=>"7Hoo",encoding,$c,lang,ja),p(join" / ",map{A$i.="/".
$_}split"/",$p),ul(li[map{A"/$p/$_"}grep-d,<*>]),open(F)&&hr.dl(map{@N=split/\t
/x;dt(a{href,$N[0]},b e 1),dd e 2}<F>),hr,startform(0,url."/$p"),p(join br,(map
{textfield/(.)/,$_,40}Url,Title),textarea(D,"",3,40,1),submit),endform,end_html
・XSS 脆弱性の fix
) 、7accesslog (>>291291(1): 266 [] 04/03/18 14:52 ID:vM8w8oY1(1) AAS
#! /usr/bin/perl
($a,$f,$t,$k)=@ARGV;$k=~s/%([\da-f]{2})/pack H2,$1/egi;print"Content-Type: te".
"xt/",$a?"tab-separated-values\nContent-Disposition: attachment;filename=$f".($
t&&"-$t").($k&&"-$k").'.log':plain,"\n\n";sub l{localtime}$f?do{/^....(..)(..)$
/x&$1*$2&$1<13&$2<32&&(open(F,"$_.txt"),print grep$k?/\Q$k/o:1,<F>)for$f..$t||$
f}:do{open F,sprintf">>%d%02d%02d.txt",(l)[5]+1900,(l)[4]+1,(l)[3];print F join
("\t",''.l,@ENV{REQUEST_URI,REMOTE_ADDR,HTTP_USER_AGENT,HTTP_REFERER}),"\n"}
・書き込み時のファイル名構築の際に関数lを使用するよう変更
・0月も0日も除外するようあらためて変更
・>>290さんの末尾の空フィールドができないよう変更
皆さんのおかげで再びshebang入り七行達成しました。
しかし、>>288-289のツールがあるなら、閲覧モードは不要だったりして・・・。
) を載せました。
README の変更等ありましたらココかアップローダにお願いします。
385: nobodyさん [sage] 2006/01/25(水) 22:08:08 ID:??? AAS
7CMS
このスレで作った >>365365(5): nobodyさん [sage] 2006/01/21(土) 13:50:12 ID:??? AAS
#!/usr/bin/perl
my@d=([qw/? ? ? ? ? ? ? ? ? ? ? ? ? ?/],[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;
>>378378(3): 376 [sage] 2006/01/23(月) 21:15:02 ID:??? AAS
($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 じゃ動かないね。
>>381381(1): nobodyさん [sage] 2006/01/24(火) 00:41:03 ID:??? AAS
@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 がいまいち糞コードになりきれていなかったので平均の計算も追加。おやすみ〜 ノシ
>>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]]
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル アボンOFF
ぬこの手 ぬこTOP 1.149s*