欢迎光临
我们一直在努力

Perl 5.8.0 的一些资料-CGI教程,CGI文档

建站超值云服务器,限时71元/月

perl 5.8.0 的一些资料
摘自 ccb网站自助平台 http://www.sun126.com cgi-大瞎 2003-03-03.19:55
5.8.0 的亮点主要有:

– 更好的 unicode 支持:
自从 5.6 版以来, unicode 支持已在各层面上大幅更新:
– 支持 unicode 3.2.0 版 (perl 5.6.1 支持 3.0.1 版)
– 在语言及内部层次上, 提供更普遍而平滑的 unicode 环境
– 正则表示式能够配合 unicode 了
– 提供 encode 模块, 以支持现存的编码方式 (包括各种中/日/韩系统)

– 多线程执行模式:
「解释器多线程法」(interpreter threads, 简称「ithreads」) 是新的多线程执行
模式. 我们强烈建议您用它来取代旧版的「5.005 多线程法」模式. 两者间主要的
差异, 在于 ithreads 下必需明确宣告要共享的资料.

– 新的输入/输出模式:
新推出的 perlio 模式, 同时提供了源码层级的跨平台 stdio 实作, 以及更丰
富的输出入控制架构.

– 更精确的数值:
之前的 perl 版本依赖于您系统上的字串/数值转换函数; 这往往造成了跨平台
的障碍, 以及错误的计算结果.

– 64 比特支持:
目前的 64 比特支持已经成熟 — 若您的系统支持 64 比特的整数或地址空间,
就可以在编译时指定使用这些功能.

– 安全的信号 (signal) 处理:
之前的版本里, perl 在接收信号时可能会破坏解释器的内部状态.

– 大量的新模块:
digest::md5, file::temp, filter::simple, libnet, list::util,
memoize, mime::base64, scalar::util, storable, switch,
test::more, test::simple, text::balanced, tie::file, …

– 彻底的兼容性测试:
perl 现在具备了六倍于 5.6 版的测试套件, 并且每日在各种平台上进行装设
测试.

[兼容性]

– 二进制档案不兼容:
主要由于 perlio 的导入, perl 5.8 与先前的 perl 版本之间并无「二进制兼容性」. 您可能会需要再次编译各个 xs 延伸模块.

– aix 动态载入:
为了与 aix 系统上的其他程序更加兼容, perl 在 aix 系统上启用了系统的动
态载入, 而非早先的模拟方式.

– 停用 64 比特平台上的 perl malloc 内存配置:
perl 的 malloc 函数在 64 比特定址的机器上似乎有许多问题. 因此, 我们现
在预设使用系统原生的 malloc 函数.

– 散列顺序又改变了:
perl 内部的散列函数又改成了较好的版本, 不过只要您的源码不依赖于特定的
散列键顺序, 这就不成问题.

– my 的属性改在执行阶段处理:
my() 变数的属性目前改在执行阶段处理, 而非编译阶段.

– ref(…) 取代了 scalar(…):
为符合 ref() 的结果, 对参照 (reference) 的参照在字串里改以 "ref(…)"
表示.

– 更新的 unicode 处理模式, 大幅减少了需要使用 "use utf8" 之处:
在 perl 5.6 版时, 资料是否视为 unicode, 端视其运算是否处于 "use utf8"
编译命令的有效范围内而定; 现在, perl 5.8 直接将 "unicode 性质" 连结到
资料上. 因此, 目前只有在程序码内用到 utf-8 字面值 (literal) 时, 才需
使用 "use utf8". (在没有 "use utf8" 时, 为了保持与现存命令稿的兼容性,
字面值仍视为字节处理.)

– vms: socket 延伸模块动态化, alpha 预设使用 ieee 浮点数
– socket 延伸模块在 vms 平台上改为动态载入; 这在极旧版的 vms 上可能会
造成问题.
– openvms alpha 目前预设使用 ieee 浮点数格式. 这样做的理由及细节, 请见
readme.vms.

[用词改变]

– 《骆驼书》(programming perl, 《perl 程序设计》) 第三版内的「io 规则」
(io discipline), 现在改称为「io 层」(io layer).

[不建议使用]

– dump():
dump 指令的功能, 目前视同作废.

– 5.005 多线程法模式已不建议使用
请采用新的「解释器多线程法」模式.

– 虚拟散列 (pseudohash):
使用者层级的虚拟散列语法将被移除, 改成比较简洁的操作界面. 此外, 内部的
实作方式也必须更改, 因为它减缓了一般散列的存取速度.

– "exec(串列)" 与 "system(串列)" 参数内的受污染 (tainted) 资料:
目前这会触发警告讯息, 但在未来的版本里会变成致命错误.

– tr///c, tr///u:
这两个操作界面是个意外; 请采用 pack("c0", …) 及 pack("u0", …).

[已知问题]

– amigaos 无法装设 perl 5.8.0.

– 编译套件: 比特码编译及原生码编译仍然有问题.

– lvalue 左值函数仍然视为实验性质.

– local() 与 tie() 的交互使用结果, 仍未清楚定义.

– 系结(tied) 或魔法(magical) 阵列及散列并不会自动生成 (autovivify).

– 自我系结的阵列及散列, 目前禁用.

再次提醒您, 请详阅 pod/perldelta.pod, install, 以及 readme.平台

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Perl 5.8.0 的一些资料-CGI教程,CGI文档
分享到: 更多 (0)