#!/usr/bin/perl #うまく動かない時は↑を #!/usr/local/bin/perl #ってするといいかも・・・ require './jcodeLE.pl'; #かえで占い♪ Version1.0 #(C)Kaede Otigiri #2001/5/9 #http://otogiri.pos.to/ #otogiri@pos.to #占いモード(1=おみくじ、2=日替わり占い、3=名前占い) $ura = 1; #占い結果のHTMLの雛形ファイル $htmname = "result.html"; #占いデータファイル $uranaifile = "uranai.txt"; #占いの乱数等の初期値(順番をシフトさせる場合に正の整数をセット) $offset = 0; #-------------------------------------------------- #ここから下の部分は書き換えないで! $buffer = $ENV{'QUERY_STRING'}; @pairs = split(/&/,$buffer); foreach $pair (@pairs){ ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; &jcode'convert(*value,'sjis'); $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/\t/ /g;$value =~ s/ 0){ read(STDIN,$buffer2,$cntlen); @pairs = split(/&/,$buffer2); foreach $pair (@pairs){ ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; &jcode'convert(*value,'sjis'); $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/\t/ /g;$value =~ s/; close(DATA); $ndata = @kujidata; if($ura eq "1"){ #乱数占い srand(time || $$); $rndmdt = int(rand($ndata) - 0.1); } elsif($ura eq "2"){ #日替わり占い $rndata = time; $nday = int($rndata / (3600*24)) + $offset; $rndmdt = $nday % $ndata; } else{ #名前占い $hn =~ s/([0-9A-Za-z%_])/'%'.unpack('H2',$1)/ge; $hn =~ s/([^0-9A-Za-z%_])/'%'.unpack('H2',$1)/ge; @hna = split(/%/,$hn); $rndata = $offset; foreach $hnb (@hna) {$rndata += hex($hnb);} $rndmdt = $rndata % $ndata; } $banner = "

日替わり占い♪
by 乙霧楓。
";#削除したらだめ $kekka = $kujidata[$rndmdt]; @kekkadata = split(/\t/,$kekka); $result = $kekkadata[0]; $message = $kekkadata[1]; open(HTMDATA,"$htmname") || die("counter: Unable to open $htmname"); @htmbuf = ; close(HTMDATA); print "Content-type: text/html\n\n"; foreach $htmdata (@htmbuf) { $htmdata =~ s/--result--/$result/ig; $htmdata =~ s/--message--/$message/ig; $htmdata =~ s!!$banner!ig;#書き換えしないで print "$htmdata"; }