#!/usr/local/bin/perl # ↑あなたが加入しているプロバイダの「perl」言語が使用できる # パスを指定します。一般的に「#!/usr/local/bin/perl」で大丈夫 require "./conf.cgi"; #============================================================================== # BannerEx Version 98.3 #============================================================================== #日本語コード変換モジュール require './jcode.pl'; require './ex_jump.cgi'; require './ex_random.cgi'; require './ex_main.cgi'; $script = 'search.cgi'; #======================================================================================= # 初期設定が必要なのはここまでです。 #======================================================================================= $reload = "http://$ENV{'SERVER_NAME'}$ENV{'SCRIPT_NAME'}"; @ITEM = ( '\'99 Winter','\'99 Summer','\'98 Winter','\'98 Summer', '\'97 Winter','\'97 Summer','\'96 Winter','\'96 Summer', '\'95 Winter','\'95 Summer','\'94 Winter','\'94 Summer', '増刊号','\'94 より以前','−その他−', ); $agent = $ENV{'HTTP_USER_AGENT'}; $textwidth = 60; if ($agent =~ /MSIE\ 3/i) { $textwidth = $textwidth * 1.5; } if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'}); } else { $QUERY_DATA = $ENV{'QUERY_STRING'}; } @PAIRS = split(/&/,$QUERY_DATA); foreach $pair (@PAIRS) { ($dummy, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s/</g; $value =~ s/>/>/g; $value =~ s/\n//g; $value =~ s/\,/,/g; &jcode'convert(*value,'sjis'); $QUERY{$dummy} = $value; } &data_read; if ($QUERY{'genre'} eq '指定しない') { $QUERY{'genre'} = ''; } if ($QUERY{'HP'} =~ /^http\:\/\/(.*)/i) { $QUERY{'HP'} = $1; } #押されたボタンや、呼び出しに対しての分岐 if ($QUERY{'action'} eq 'preview') { &preview; } elsif ($QUERY{'action'} eq 'regist') { ®ist; } elsif ($QUERY{'action'} eq 'insert') { &insert; } elsif ($QUERY{'action'} eq 'delete') { &delete; } elsif ($QUERY{'action'} eq 'jump') { &jump; } elsif ($QUERY{'action'} eq 'random') { &random; } $QUERY{'keyword'} =~ s/ //g; $QUERY{'keyword'} =~ s/ //g; if ($QUERY{'genre'} eq '' && $QUERY{'keyword'} eq '') { @MATCH = @DATA; } else { foreach $line (@DATA) { $match = 1; ($code,$access,$name,$item,$hpname,$HP,$memo) = split(/\,/,$line); if ($QUERY{'genre'} ne '') { if ($QUERY{'genre'} ne $item) { $match = 0; } } if ($match && $QUERY{'keyword'} ne '') { if (index($line,$QUERY{'keyword'}) < 0) { $match = 0; } } if ($match) { push(@MATCH,$line); } } } if (@MATCH < 1) { &error(bad_search); } if ($QUERY{'button'} eq 'ランキング') { foreach $line (@MATCH) { ($code,$access,$name,$item,$hpname,$HP,$memo) = split(/\,/,$line); $count = sprintf("%06d",$access); $line = "$count\,$line"; } @MATCH = sort(@MATCH); @MATCH = reverse(@MATCH); } &main; #======================================================================================= sub html_head { print "Content-type: text/html\n\n"; print "
";
print "■ この検索システムは、Terra氏のCGI「BannerEx」を改造して利用しております。 \n"; print <<_EOF; ■ 著者名では以下のように略称で\表\示しています。検索の際も略称で入力して下さい。 □ ケンメリバクシンオー → バクシンオー □ 金の玉東インター店 → 金の玉 □ シローイトチャンス → イトチャンス _EOF print " [X'press Square]トップページへ |
検索結果 |
\n";
print "検索したキーワードでは該当記事がありません。 キーワードを変えて再度検索して下さい。 $msg | \n";
print "