my $pg = $in{pg} || 0;

# キーワード検索準備(Shift-JIS定義)
my $ascii = '[\x00-\x7F]';
my $hankana = '[\xA1-\xDF]';
my $twobytes = '[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]';

$in{word} =~ s/ / /g;
my @wd = split(/\s+/, $in{word});

my $i = 0;
my @log;
open(DB,"$cf{datadir}/db.cgi") or error('open err: db.cgi');
while(<DB>) {
my ($no,$ttl,$com,$cat1,$cat2,$cat3,$ex,$w,$h) = split(/<>/);

# カテゴリ検索
next if ($in{cat1} != $cat1 && $in{cat1} ne '');
next if ($in{cat2} != $cat2 && $in{cat2} ne '');
next if ($in{cat3} != $cat3 && $in{cat3} ne '');

# ワード検索
if ($in{word} ne '') {
my $flg;
foreach my $wd (@wd) {
if ($com =~ /^(?:$ascii|$hankana|$twobytes)*?\Q$wd\E/i) {
$flg++;
} else {
$flg = 0;
last;
} }
next if (!$flg);