# BB といえば KING なので bbk (w
# 入力: 加工前の $FORM{'MESSAGE'} 出力: 0 = OK; 1 = NG;
sub CHK_bbking($){
my $message = shift;
my $value;
my @queries = qw/0 0 0 0/;
my %charactors;
$message =~ tr/[\x00-\x1F\x7F]//; # 非表示文字を削除
while($message =~ s/^.//){
$value .= $&;
next if $value =~ /[\x81-\x9F\xE0-\xFC](?![\x40-\x7E\x80-\xFC])/;
if (!exists $charactors{sprintf "%04X",$value}) {
$charactors{sprintf "%04X",$value} = 1;
$value = ord($value) & ord($&);
$queries[0]++ ; # COUNT
$queries[1] += ord($value) ; # ADD
$queries[2] += ord($value) ^ 0xFF ; # XOR
$queries[3] += ord($value) >> 1 ; # shift R
}
$value = '';
}
# printf "%s.bbk.2ch.net\n",join '.',reverse map sprintf ("%d",($_ & 0xFF)), @queries; exit;
$message = gethostbyname(sprintf "%s.bbk.2ch.net\n",join '.',reverse map sprintf ("%d",($_ & 0xFF)), @queries);
return $message =~ /^127/ ? 1 : 0 ;
}