用English模块读取含义模糊的标点变量

ZDNet软件频道 时间:2004-02-17 作者:ZDNet China |  我要评论()
本文关键词:
Perl有很多预先定义的变量,它们都有特殊的含义。为了防止它们被弄混淆或者被用户定义的变量覆盖,大多数预先定义变量都使用标点字符来命名。
本文译自Builder.com,未经许可请勿转载 Perl有很多预先定义的变量,它们都有特殊的含义。为了防止它们被弄混淆或者被用户定义的变量覆盖,大多数预先定义变量都使用标点字符来命名。

很多标点字符都有相当多的助记符或者外壳里类似的字符,但是它们仍然很难阅读。幸运的是,English模块让代码里的变量更容易阅读。

下面是一些预先定义的变量的例子,其中左边是变量,右边是其对应English表示形式:

$&     $MATCH
$`     $PREMATCH
$'     $POSTMATCH
$.     $INPUT_LINE_NUMBER
$/     $INPUT_RECORD_SEPARATOR
$,     $OUTPUT_FIELD_SEPARATOR
$     $OUTPUT_RECORD_SEPARATOR

理解和辨别English表示形式表示要容易得多。要是用这些长变量名,就要把下面这一行插入到程序开始的地方:

use English;

注意:插入“use English;”会极大地增加它进行常规表达式模式匹配的时间。根据Perl的文档,这是“因为Perl实现上的一个不幸的意外”。(另外)不推荐在库和模块里使用它。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134