请问pack/unpack和encode/decode有什么关系和区别?

请问pack/unpack和encode/decode有什么关系和区别?

最近遇到一些文件乱码的问题,四处找资料。发现了这两个方法。看了一下,发现很多时候可以配合使用,请问大侠他们有什么联系呢?侧重点在哪?
多谢。
perldoc
期待高手解释,pack是我的硬伤,呵呵
看精华贴

http://www.chinaunix.net/jh/25/174939.html
两者没什么关系,在不同场合使用
pack/unpack 是perl提供的函数
encode/decode是 perl模块Encode提供的函数, 这个模块内部其实也用了pack/unpack

2者的应用本来就不一样吧。。不知道为什么会这么问

pack用来把一串值按照某个规则打包成一个字符串

encode是把perl UTF8字符串转成其他编码的字符串,比如转成gb2312。
encode/decode 用来做编码转换。
pack/unpack 用来拆分/组装字符串。
将一些数据写成yaml文件,经常有一些乱码,在IE里显示是' "等等,写成yaml就变成?或者'了。很郁闷
我也碰到类似问题, 请问大家这行代码能把extended ascii 转成 utf-8么? 我试了, 好像有些字符, 例如 "μ" 就被去掉了
$Text_tmp =~ s/[^\x01-\x7F]/pack("U0", ord($&))/sgie;