>>203
ありがとうございます!
$body =~ /^([\x00-\x7F\xA1-\xDF]|[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC])*$/ or chop $body;
↑こっちのやりかたで完璧でした。ShiftJISのままできました。

>>202
うーん。まぁ今となっては確かにeucでやった方がいいのかなぁ?
サイト上でテキスト(HTML)がSJISでCGIだけEUCだとチグハグ感がありますので。