#!/usr/bin/perl -w $search = "\x8C\x95"; $text1 = "Text 1 \x90\x56\x8C\x95\x93\xB9"; $text2 = "Text 2 \x94\x92\x8C\x8C\x95\x61"; $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 }; print "First attempt -- no anchoring\n"; print " Matched Text1\n" if $text1 =~ /$search/o; print " Matched Text2\n" if $text2 =~ /$search/o; print "Second attempt -- anchoring\n"; print " Matched Text1\n" if $text1 =~ /^ (?:$encoding)*? $search/osx; print " Matched Text2\n" if $text2 =~ /^ (?:$encoding)*? $search/osx;