求助:全角半角之间的转换。

求助:全角半角之间的转换。

由文档中读取得字符,怎样将其全角字符转化为半角?
谢谢
# 全角字符第一字节 = 163(0xA3), 第二字节为对应半角字符 + 128
# 全角中文第一字节 > 163
my $str = '019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;';
print "$str\n";
$str =~ s/\x{A3}(.)/chr(ord($1) - 128)/eg;
print "$str\n";



### 运行结果 ###
019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;
019AaBbYyZz\",.?<>{}[]*&^%#@!~()+-|:;
这样写,执行一次没有问题,但是不知道为什么,当在for循环里面多次执行的情况下就直接报错了
谢谢


QUOTE:
原帖由 guoqigang 于 2007-10-2 17:54 发表
这样写,执行一次没有问题,但是不知道为什么,当在for循环里面多次执行的情况下就直接报错了
谢谢

上你的Code.
PerlDoc