perl的字面串(或曰明文)是什么编码的?

perldoc里有两个概念,text string和binary string,按其建议,除了特别要针对二进制做处理外,应该对外部来的string都decode成text string。那么perl里的明文是什么string呢?和源代码的编码有关吗?我有一个明文my $mt='贴子数<span class="red">([\d]+)</span>‘;如果我不对其decode ,它无法与一个从外部来的decode好的string进行正则式匹配,如果decode('gb2312',$mt),则又报错:malformated utf-8 character (unexpected non-continuation byte 0xf9…………。
咋地办呢?我感觉perl的编码问题很麻烦。

作者: llosa   发布时间: 2011-05-19

Encode 模块,encoding pragma,文件的编码 这三个方面懂了就没什么问题。仙子有个精华

作者: zhlong8   发布时间: 2011-05-19

上面写错了,报的是:wide character in subroutine entry at D:/perl/lib/Encode.pm line 174

作者: llosa   发布时间: 2011-05-19

decode时,decode处报wide character in subroutine entry at D:/perl/lib/Encode.pm line 174
不decode时,在匹配处报malformated utf-8 character (unexpected non-continuation byte 0xf9…………。

作者: llosa   发布时间: 2011-05-19