use YAPE::Regex::Explain; $search = "\x8C\x95"; $encoding = q{ # Shift-JIS encoding [\x00-\x7F] # ASCII/JIS-Roman | [\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC] # JIS X 0208:1997 | [\xA0-\xDF] # Half-width katakana }; $regex = qr/^ (?:$encoding)*? $search/osx; print YAPE::Regex::Explain->new($regex)->explain;