首先看如下代码:
$s="图盟科技 mapabc";
$t="济";

if($s=~/$t/)
{
print "good ";
}
else
{
print "bad ";
}
程序运行结果:
good
分析:由于“图”的右半边与“盟”的左半边合成了“济”字,故匹配成功。但在中文处理中这种情况是不合理的。
解决方案:引入 Encode 包。
use Encode;

$s="图盟科技 mapabc";
$t="济";

$length=length($t);# 2
$s = Encode::decode('GB2312',$s);
$t = Encode::decode('GB2312',$t);
$length=length($t);#1
if($s=~/$t/)
{
print "good ";
}
else
{
print "bad ";
}
现在的结果为:
bad











程序运行结果:
good
分析:由于“图”的右半边与“盟”的左半边合成了“济”字,故匹配成功。但在中文处理中这种情况是不合理的。
解决方案:引入 Encode 包。





$length=length($t);# 2


$length=length($t);#1








现在的结果为:
bad