#!/usr/local/bin/perl
#
# cdrom2 用CGIスクリプト
#
# jiro@nerimadors.or.jp 1997/10/27
#
# 以下の変数を設定してください
#
$cdrom2 = '/usr/local/bin/cdrom2';
$dic = 'readers';
$dic_dir = '/cdrom';
$gaiji_dir = 'gaiji';
#
# 設定ここまで
#
#
# このスクリプトの名前
#
@p = split(/\//, $0);
$myname = $p[$#p];
# $myname = $0;
#
# 出力のフラッシュをおこなう
#
$| = 1;
#
# HTML の生成
#
print "Content-type: text/html
$dic
cdrom2
$dic
";
#
# CGIで渡される group, value の解析
#
# GET / POST / test-run
if ($ENV{'REQUEST_METHOD'} eq 'GET') {
$in = $ENV{'QUERY_STRING'};
} elsif ($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $in, $ENV{'CONTENT_LENGTH'});
}
if($in gt '') {
@in = split(/&/, $in);
foreach $i ($[ .. $#in) {
$in[$i] =~ s/\+/ /g;
($key, $val) = split(/=/, $in[$i], 2);
$key =~ s/%(..)/pack('c', hex($1))/ge;
$val =~ s/%(..)/pack('c', hex($1))/ge;
$in{$key} .= ' ' if (defined $in{$key}); # 複数項目の区切り
$in{$key} .= $val;
}
}
#
# デフォルト値の設定など
#
$value = $in{'value'};
$option = $in{'option'};
$option = 'k' unless($option =~ /[krjm]/);
$value = '-m' if($value eq '');
$value = '' if($option eq 'm');
#
# FORM の生成
#
print "
';
#
# 検索実行
#
if($value gt '' || $option eq 'm') { # 検索データが設定されているか?
print '
';
$o = `$cdrom2 -d$dic_dir -$option $value`;
# 各種タグ
$o =~ s//g;
# 図版タグ
$o =~ s/\\Fig{([^}]+)}/$1/g;
# 参照タグ
$o =~ s//$1<\/A>/g;
# 外字
$o =~ s/\[([0-9A-F][0-9A-F][0-9A-F][0-9A-F])\]//g;
# 半角外字
$o =~ s/\[(H[0-9A-F][0-9A-F][0-9A-F][0-9A-F])\]//g;
# 改行
$o =~ s/\n/
\n/g;
print $o;
}
#
# 終了
#
print "
検索ソフト「cdrom2」について
";
exit;