七行プログラミング (452レス)
上下前次1-新
279: 7accesslog [sage] 04/03/16 15:40 ID:??? AAS
 ($a,$f,$t,$k)=@ARGV;print"Content-Type: text/",!$a?plain:"tab-separated-values 
 Content-Disposition: attachment;filename=log.csv","\n\n";$k=~s/%([\da-f]{2})/ 
 pack"H2",$1/egi;$f?do{/^\d{8}$/&&(open(F,"$_.txt"),print grep$k?/\Q$k/o:1,<F>) 
 for$f..$t||$f}:do{s/^\d$/0$&/for($s,$n,$h,$d,$m,$y)=localtime;$y+=1900;$m++;$m 
 =~s/^\d$/0$&/;open F,">>$y$m$d.txt";print F join("\t",$h,$n,$s, 
 @ENV{REQUEST_URI,REMOTE_ADDR,HTTP_USER_AGENT,HTTP_REFERER}),"\n"} 
  
 ・検索ワードを URI-unescape 
 ・第 3 引数を省略可能に 
 ・パラメータをクエリ渡しから引数渡しへ 
   (例) 
   外部リンク[cgi]:hoge.com 
   外部リンク[cgi]:hoge.com 
280(1): 266 [sage] 04/03/16 18:36 ID:??? AAS
 >77(3): nobodyさん [0] 02/11/01 18:52 ID:??? AAS
 #!/usr/local/bin/perl 
  
 if (>>1 = "バカ") { 
     print "イッテヨシ"; 
 } else { 
     print "マターリしましょう"; 
 }  
accesslog 
 for で $f..$t ってやると、月や年をまたいだ時、 
 無駄なファイルオープン(できないやつ)が多発するので 
 そこをなんとかしたいです・・・。 
  
 ヘタレな私にはいい方法が思いつきませんが。 
281: nobodyさん [sage] 04/03/16 22:51 ID:??? AAS
 >>280 
 ・効率的な生成アルゴリズムを Web や本から探す。 
 ・思いつくまま色々書いて試す。 
 ・文字数を食っている機能を捨てる。 
 ・緩めのルール (shebang 無し 7 行 & モジュール可) で挑戦する。 
  
 とにかく足掻いて形にするのが大事。 
282: nobodyさん [sage] 04/03/16 23:11 ID:??? AAS
 >>277277(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 さんに掲載許可を 
 頂け次第サイトに載せようと思ってますので、適用ライセンス等 
 ご連絡下されば幸いです。  
202です。 ライセンスとかようわからないですが、telnetdとStore7はほかのと同じようにして置いていただければ結構です。 
283(1): 266 [sage] 04/03/17 10:18 ID:??? AAS
 ($a,$f,$t,$k)=@ARGV;$k=~s/%([\da-f]{2})/pack"H2",$1/egi;$l=$f.($t?"-$t":"").($k 
 ?"-$k":"");print"Content-Type: text/",$a?"tab-separated-values\nContent-Dispo". 
 "sition: attachment;filename=log$l.csv":plain,"\n\n";$f?do{/^\d{4}(\d\d)(\d\d)$ 
 /x&&$1*$2&&$1<13&&$2<32&&(open(F,"$_.txt"),print grep$k?/\Q$k/o:1,<F>)for$f..$t 
 ||$f}:do{s/^\d$/0$&/for($s,$n,$h,$d,$m,$y)=localtime;$y+=1900;$m++;$m=~s/^\d$/0 
 $&/x;open F,">>$y$m$d.txt";print F join("\t",$y,$m,$d,$h,$n,$s,@ENV{REQUEST_URI 
 ,REMOTE_ADDR,HTTP_USER_AGENT,HTTP_REFERER}),"\n"} 
  
 ■記録時 
 ・ログファイルに日付も記録するよう変更。 
 (日付範囲を指定してログ表示した際に日付が無いとわけわからないため) 
  
 ■閲覧時 
 ・ダウンロード時のファイル名に抽出条件を盛り込むよう変更。 
 ・1〜12月の1〜31日の間だけファイルオープンを試みるよう変更。 
  
 いろいろ増やしたらshebang無し七行になっちゃいました。
284(1): nobodyさん [sage] 04/03/17 11:13 ID:??? AAS
 トイレに行かせただけで動作未確認。 
  
 ($k=$ARGV[3])=~s/%([\da-f]{2})/pack"H2",$1/egi;/\D/&&die for($a,$f,$t)=@ARGV; 
 print"Content-Type: text/",$a?"tab-separated-values\nContent-Disposition: atta" 
 ."achment;filename=log$f".($t&&"-$t").($k&&"-$k").'.csv':plain,"\n\n";$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{($d,$m,$y)=(localtime)[3,4,5];open F,sprintf">>%d%02d%02" 
 ."d.txt",$y+1900,$m+1,$d;print F join("\t",''.localtime,@ENV{REQUEST_URI, 
 REMOTE_ADDR,HTTP_USER_AGENT,HTTP_REFERER}),"\n"} 
  
 ログの日付を scalar localtime に変更。 
285(2): nobodyさん [sage] 04/03/17 14:13 ID:??? AAS
 ($a,$f,$t,$k)=@ARGV;$k=~s/%([\da-f]{2})/pack"H2",$1/egi;print"Content-Type: ". 
 "text/",$a?"tab-separated-values\nContent-Disposition: attachment;filename=l". 
 "og$f".($t&&"-$t").($k&&"-$k").'.csv':plain,"\n\n";$f?do{/^....(..)(..)$/&&$1* 
 $2&&$1<13&&$2<32&&(open(F,"$_.txt"),print grep$k?/\Q$k/o:1,<F>)for$f..$t||$f}: 
 do{($d,$m,$y)=(localtime)[3,4,5];open F,sprintf">>%d%02d%02d.txt",$y+1900,$m+1 
 ,$d;print F join("\t",''.localtime,@ENV{REQUEST_URI,REMOTE_ADDR, 
 HTTP_USER_AGENT,HTTP_REFERER}),"\n"} 
  
 >>284 
 1行目ってなんで変えたの?>>283の1行目で動くようなので戻すことで若干縮め。 
 あとattachmentのつづり直した。もう少しでshebang含7行。 
286: nobodyさん [sage] 04/03/17 15:03 ID:??? AAS
 >>285 
 コードそのまま。$a, $f, $t に数字以外の文字が 
 含まれない事を保障する為。 
 まぁここはチェック飛ばしても穴にはならんかな。 
287: nobodyさん [sage] 04/03/17 17:14 ID:??? AAS
 >>285 
 78文字+改行になってるよw 
 さらに強引に短くしてみた。 
  
 変更点 
 pack"H2"→pack H2 DLファイル名→$f-$t-$k.log $1*$2→$1のみ判定 [3,4,5]→[3..5] 
  
 #! 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";$f?do{/^....(..)(..)$/&&$1&&$1<13&&$2 
 <32&&(open(F,"$_.txt"),print grep$k?/\Q$k/o:1,<F>)for$f..$t||$f}:do{($d,$m,$y)= 
 (localtime)[3..5];open F,sprintf">>%d%02d%02d.txt",$y+1900,$m+1,$d;print F join 
 ("\t",''.localtime,@ENV{REQUEST_URI,REMOTE_ADDR,HTTP_USER_AGENT,HTTP_REFERER}), 
 "\n"} 
  
 あと5バイト 
288(1): nobodyさん [sage] 04/03/17 17:15 ID:??? AAS
 汎用 TSV ヴューア 
  
 #!/usr/local/bin/perl 
 use CGI":all";charset$C='EUC-JP';*P=*param;($f=P(f))=~/[^\w*\-.?\[\\\]]/&¨$ 
 w=P(w)||"\t";chomp(@l=map{open(_)?grep(/\Q$w/,<_>):()}grep/$f/o&&-f,<*>)if$f;%l 
 =(f,"target file regex",w,"search word",o,"output file name");put(($o=P(o))?( 
 "Content-Type: text/tab-separated-values\nContent-Disposition: attachment;file" 
 ."name=$o\n\n",@l):(header,start_html(-title=>'7tsview',encoding,$C,lang,ja), 
 table({border,1},Tr[map{td[split/\t/]}@l]),startform(0,url),p(map{$l{$_}, 
 textfield($_,'',40).br}f,w,o),endform,end_html)) 
289(1): nobodyさん [sage] 04/03/17 17:27 ID:??? AAS
 use CGI":all";charset$C='EUC-JP';*P=*param;($f=P(f))=~/[^\w*\-.?\[\\\]]/&¨$ 
 w=P(w)||"\t";chomp(@l=map{open(_)?grep(/\Q$w/,<_>):()}grep/$f/o&&-f,<*>)if$f;%l 
 =(f,"target file regex",w,"search word",o,"output file name");put(($o=P(o))?( 
 "Content-Type: text/tab-separated-values\nContent-Disposition: attachment;file" 
 ."name=$o\n\n",@l):(header,start_html(-title=>'7tsview',encoding,$C,lang,ja), 
 table({border,1},Tr[map{td[split/\t/]}@l]),startform(0,url),p(map{$l{$_}, 
 textfield($_,'',40).br}f,w,o),submit(0,go),endform,end_html)) 
  
 submitを追加 
290(1): nobodyさん [sage] 04/03/17 17:31 ID:??? AAS
 動作未確認。末尾に空フィールドができるけどゴメンして。 
  
 ($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<13&$2<32&&(open(F,"$_.txt"),print grep$k?/\Q$k/o:1,<F>)for$f..$t||$f}:do{ 
 ($d,$m,$y)=(l)[3..5];open F,sprintf">>%d%02d%02d.txt",$y+1900,$m+1,$d;print F 
 join"\t",''.l,@ENV{REQUEST_URI,REMOTE_ADDR,HTTP_USER_AGENT,HTTP_REFERER},"\n"} 
291(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のツールがあるなら、閲覧モードは不要だったりして・・・。
292: SevenLines の中の人 [sage] 04/03/23 12:22 ID:??? AAS
 7wiki (>>274274(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/」に対応。  
) 、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 (>>291) を載せました。 
 README の変更等ありましたらココかアップローダにお願いします。 
293: nobodyさん [] 04/03/23 16:33 ID:C7ISjwar(1) AAS
 #! /usr/bin/perl 
 use CGI":all";charset$c='EUC-JP';opendir(H,"./");$s='7editor';while($i=readdir  
 H){$l.=li a {href,"$s.cgi?$i"},$i}if(request_method eq'POST'){$p=param(f);open( 
 H,">$p");print H param(t);print"Location: $s.cgi?$p\n\n"}else{$q=$ARGV[0];if($q 
 ){open H,$q;$f.=$_ while(<H>)}put header,start_html(-title=>$s,encoding,$c,lang 
 ,ja),h1($s),ul($l),startform(post,"$s.cgi"),p(textfield f,$q),p(textarea t,$f,9 
 ,82),p(submit regist),endform,end_html} 
  
 ●7editor.cgi 
 サーバ上のファイルを直接編集できます。ファイル名欄を変えれば新規作成も可能です。 
 textareaのサイズは、一応七行プログラミングを組みやすいかと思われる82x9にしてみました。 
  
 ToDo: 
 ・セキュリティ対策 
 ・ディレクトリ移動 
 ・ファイル削除くらいはできた方がいいかも 
  
 とりあえずたたき台ってことで。 
294: nobodyさん [sage] 04/03/23 17:07 ID:??? AAS
 縮め&書き込み確認ダイアログ 
  
 #! /usr/bin/perl 
 use CGI":all";charset$c='EUC-JP';opendir H,"./";$s='7editor';while($i=readdir H 
 ){$l.=li a{href,"$s.cgi?$i"},$i}if(request_method eq'POST'){$p=param(f);open H, 
 ">$p";print H param(t);put"Location: $s.cgi?$p\n\n"}else{if(open H,$q=$ARGV[0]) 
 {$f.=$_ while(<H>)}put header,start_html(-title=>$s,encoding,$c,lang,ja),h1($s) 
 ,ul($l),startform(-onSubmit=>"return confirm('OK?')",post,"$s.cgi"),p(textfield 
 f,$q),p(textarea t,$f,9,82),p(submit regist),endform,end_html} 
295: nobodyさん [sage] 04/03/23 18:36 ID:??? AAS
 #! /usr/bin/perl  
 use CGI":all";charset$c='EUC-JP';*b=*param;opendir H,"./";while($i=readdir H){$ 
 l.=li a{href,($s='7editor').".cgi?$i"},$i}if(request_method=~/POST/){open H,">" 
 .($n=b F);$_=b T;s/[\r\n|\r[^\n]]/\n/g;print H;put redirect"$s.cgi?$n"}else{if( 
 open H,$q=$ARGV[0]){$f.=$_ while<H>}put header,start_html(-title=>$s,encoding,$ 
 c,lang,ja),h1($s),ul($l),startform(-onSubmit=>"return confirm('OK?')",,"$s.cgi" 
 ),p(textfield F,$q),p(textarea T,$f,9,82),p(submit regist),endform,end_html}  
  
 環境によって改行コードが変わってしまうバグを修正。結構ギリギリ。
296: nobodyさん [] 04/03/24 11:46 ID:/Yo7kiNa(1) AAS
 #! perl  
 use CGI":all";charset$c='EUC-JP';opendir H,".".($d=path_info);while($_=readdir  
 H){if(!/^\.+$/){$l.=li a{href,script_name."$d".(-d".$d/$_"?"/":"?").$_},$_}}if( 
 request_method=~/P/){open H,">.$d/".($n=param F);$_=param T;s/\r\n|\r[^\n]/\n/g 
 ;print H}if(open H,".$d/".($q=$ARGV[0])){$f.=$_ while<H>}put header,start_html( 
 -title=>"7editor",encoding,$c,lang,ja),h1($d||"/"),ul($l),startform(-onSubmit=> 
 "return confirm('OK?')"),p(textfield(F,$q),br,textarea(T,$f,9,82),br,submit),endform,end_html 
  
 ディレクトリを移動できるように 
 「.」「..」は非表示 
 h1要素は現在位置を表示 
 スクリプト名は自由(7editorじゃなくても可)に 
  
 でも14文字ほどハミ出た。 
297: nobodyさん [sage] 04/03/24 14:15 ID:??? AAS
 use CGI":all";charset$c='EUC-JP';($d=path_info)=~s|/*$|/|;if(request_method=~PO 
 ){open H,">.$d".($n=param F);$_=param T;s/\x0D\x0A/\n/g;tr/\r/\n/;print H}$/=() 
 ,$f=<H>if open H,".$d".($q=pop);opendir H,".$d";$l.=li a{href,url.$d.(-d".$d$_" 
 ?$_:"?$_")},$_ for grep!/^\.+$/,readdir H;put header,start_html(-encoding=>$c, 
 lang,ja,Title,"7editor"),h1($d),ul($l),startform(-onSubmit=>"return confirm( 
 'OK?')"),p(textfield(F,$q),br,textarea(T,$f,9,82),br,submit),endform,end_html 
298: nobodyさん [sage] 04/03/24 15:33 ID:??? AAS
 ・.で画面リロード、..で親DIRへ移動 
 ・ディレクトリはお尻に「/」 
  
 use CGI":all";charset$c='EUC-JP';($d=path_info)=~s|/*$|/|;if(request_method=~PO 
 ){open H,">.$d".($n=param F);$_=param T;s/\x0D\x0A/\n/g;tr/\r/\n/;print H}$/=() 
 ,$f=<H>if open H,".$d".($q=pop);opendir H,".$d";$l.=li a{href,url.$d.(($h=-d".$ 
 d$_")?$_:"?$_")},($_.($h&&"/"))for readdir H;put header,start_html(-encoding=>$ 
 c,lang,ja,Title,"7editor"),h1($d),ul($l),startform(-onSubmit=>"return confirm( 
 'OK?')"),p(textfield(F,$q),br,textarea(T,$f,9,82),br,submit),endform,end_html 
299: nobodyさん [sage] 04/03/24 20:28 ID:??? AAS
 #!/usr/bin/perl 
 use IO::Socket;$S=new IO::Socket::INET(Listen,1,LocalPort,1029,Reuse,1);sub p{ 
 print@_}sub g($){($_=getc$C)eq pop}$n="\x0D\x0A";sub o{$c=pop;g"\x01"?($e=$c&2) 
 :/\x22/?($c&1or$e=0):($c=1);p pack(C2,255,250+(4,2,2,4,3,2,1,4)[$c&1?$c:$c+4]), 
 $_}{binmode($C=$S->accept);select$C;$e=1;$b='';p$p='$ ';{g"\xFF"?g"\xF7"?chop$b 
 :/\xF8/?($b=''):/\xFB/?o 0:/\xFC/?o 1:/\xFD/?o 2:/\xFE/?o 3:0:/\x00/?do{$b=~s/[ 
 $n]+\z//x;"exit"eq$b&&last;s/\s+\z/$n/for@o=`$b`;p$n,@o,$p;$b=''}:(/\x08/?chop$ 
 b:($b.=$_),/[$n]/||$e&&p$_);redo}close$C;redo} 
  
 外部リンク[html]:www5e.biglobe.ne.jp を読みながら色々 
 実装してみるも、>>207207(1): nobodyさん [] 03/12/07 20:49 ID:enSfwhvY(3/3) AAS
 Socket関連も、環境に依存する定数があったと思う。 
 後、ls コマンドの実装。 
  
 環境 
 Linux NetKit0.17 telnet で動作確認。(line mode) 
 > env | grep TERMCAP 
 TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\ 
  
 use Socket;socket S,PF_INET,SOCK_STREAM,getprotobyname'tcp';setsockopt S, 
 SOL_SOCKET,SO_REUSEADDR,1;bind S,sockaddr_in 1029,INADDR_ANY;listen S,1;{accept 
 C,S;binmode C;select C;$|=1;$n="\r\n";print$p='$ ';while($_.=getc C){if(length 
 ==1){s/^[$n\x00]//}elsif(s/[$n]$//){/^exit$/&&last;(/^cd\s*(.*)/)?chdir$1:print 
 join$n,(map{s/[$n\z]//g;$_}`$_`),$p;$_=''}}close C;redo} 
  
 character mode では、local echoが返らなかった。 
 端末への対応、悪化してたりしたらゴメン(焦  
 に負けてる telnetd 。;) 
  
 動作確認: 
 TeraTermPro → Win98SE (command.com + KI-Shell) 
 TeraTermPro → FreeBSD 4-STABLE (tcsh) 
 telnet(1) (line mode) → Win98SE (command.com + KI-Shell) 
 telnet(1) (line mode) → FreeBSD 4-STABLE (tcsh) 
  
 TODO: cd 
300(3): 7telnetd [sage] 04/03/25 10:13 ID:??? AAS
 cd 実装。 
  
 #!/usr/bin/perl 
 use IO::Socket;$S=new IO::Socket::INET(Listen,1,LocalPort,1029,Reuse,1);sub p{ 
 print$C @_}sub g($){($_=getc$C)eq pop}$n="\x0D\x0A";{binmode($C=$S->accept);$e= 
 1;$b='';p$p='$ ';{g"\xFF"?g"\xF7"?chop$b:/\xF8/?($b=''):/[\xFB-\xFE]/?do{$c=ord 
 ()-251;g"\x01"?($e=$c&2):/\x22/?($c&1or$e=0):($c=1);p pack(C2,255,250+(4,2,2,4, 
 3,2,1,4)[$c&1?$c:$c+4]),$_}:0:/\x00/?(($_,$b)=$b,s/[$n]+\z//,/^exit$/&&last,p$n 
 ,(/^cd\s+/?chdir$':map{s/\s+\z/$n/;$_}`$_`),$p):(/\x08/?chop$b:($b.=$_),/[$n]/ 
 ||$e&&p$_);redo}close$C;redo} 
301: クダランけど [sage] 04/03/25 11:06 ID:??? AAS
 ■ 7jump.cgi(ime.nuクローン) 
  外部リンク:hoge.com スキーマ指定可能 
  外部リンク:hoge.com 省略時は外部リンク:
   
 #! perl 
 use CGI":all";charset$c='EUC-JP';$_=path_info;s|^/||;s/\"/"/g;s/\'/?/g 
 ;s/</</g;s/>/>/g;s/&(?![\#0-9a-zA-Z]+;?)/&/g;$_="http://$_"if!/:/;($m 
 ,$a)=<DATA>;put header,start_html(-title=>"7jump",encoding,$c,lang,ja),p(strong 
 (a{href,$_},$_).br.$m),hr,address($a),end_html; 
  
 __DATA__ 
 別のサイトにジャンプしようとしています。宜しければ上記のリンクをクリックしてください 
 Powered by WebProg
302: 実体参照忘れてたスマソ [sage] 04/03/25 11:08 ID:??? AAS
 #! perl 
 use CGI":all";charset$c='EUC-JP';$_=path_info;s|^/||;s/\"/"/g;s/\'/'/g 
 ;s/</</g;s/>/>/g;s/&(?![\#0-9a-zA-Z]+;?)/&/g;$_="http://$_"if!/:/;($m 
 ,$a)=<DATA>;put header,start_html(-title=>"7jump",encoding,$c,lang,ja),p(strong 
 (a{href,$_},$_).br.$m),hr,address($a),end_html; 
  
 __DATA__ 
 別のサイトにジャンプしようとしています。宜しければ上記のリンクをクリックしてください 
 Powered by WebProg
303: nobodyさん [sage] 04/03/25 11:55 ID:??? AAS
 use CGI":all";charset$c='EUC-JP';$_=path_info;/:/?s|^/||:($_="http:/$_");put 
 header,start_html(-Title,"7jump",encoding,$c,lang,ja),p(strong(a{href,$_}, 
 escapeHTML$_).br.<DATA>),hr,address(<DATA>),end_html 
上下前次1-新書関写板覧索設栞歴
あと 149 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.018s