第十二章:正则表达式 正则表达式就是子程序。就是文本匹配子程序。 壹肆伍. 一定要用/x标记。 壹肆陆. 一定要用/m标记。 壹肆柒. 以\A和\z作为字符串边界锚点(anchor)。 #删除前后空白…… $text=~ s{\A \s* | \s* \z}{}gxm; 壹肆捌. 使用\z表示“字符...
分类:
其他好文 时间:
2016-02-14 00:28:47
阅读次数:
250
第八章:内置函数 零玖柒. 不要在sort中重新计算排序键。 零玖捌. 使用reverse逆转列表。 零玖玖. 使用scalar reverse逆转标量。 壹零零. 使用unpack取出固定宽度的字段。 壹零壹. 使用split取出简单的可变宽度的字段。 壹零贰. 使用Text::CSV_XS以取出...
分类:
其他好文 时间:
2016-02-14 00:26:39
阅读次数:
203
写在篇首: -------------------------------------------------------------------------------------- 此系列是Perl Best Practices的学习节选! 有兴趣的朋友可以使用邮箱和我沟通!(非常欢迎你的交流)...
分类:
其他好文 时间:
2016-02-14 00:25:37
阅读次数:
189
第十八章:测试和调试 贰贰柒. 先写测试案例。 贰贰捌. 以Test::Simple或Test::More把你的测试案例标准化。 贰贰玖. 利用Test::Harness将你的测试集标准化。 贰叁零. 编写失败的测试案例。 贰叁壹. 可能的和不可能的都要经过测试。 贰叁贰. 开始测试前先增加新的测试...
分类:
其他好文 时间:
2016-02-14 00:25:10
阅读次数:
179
第四章:值和表达式 数据是缺乏生气的…… 有点像程序员。 — Arthur Norman 零叁叁. 只对实际会插入的字符串使用插入用字符串界定符。 l 创建字符串直接量而且想插入变量,使用双引号括住的字符串 my $spam_name = “$title$first_name $surname”; ...
分类:
其他好文 时间:
2016-02-14 00:24:26
阅读次数:
158
第九章:子程序 壹壹壹. 以小括号调用子程序,但开头不要加&。 壹壹贰. 不要把子程序的名词取得和内置函数的相同。 壹壹叁. 要先取出@_。 壹壹肆. 对任何有超过三个参数的子程序使用具名自变量散列。 壹壹伍. 使用有无定义或者是否存在来测试缺漏的自变量。 壹壹陆. @_被取出后立刻解析任何默认自变...
分类:
其他好文 时间:
2016-02-14 00:22:37
阅读次数:
172
第十七章:模块 贰壹柒. 先设计模块的接口。 贰壹捌. 把原有代码变成inline。 把重复的代码放到子程序。 把重复的子程序放到模块。 贰壹玖. 使用三部分式的版本编号。 贰贰零. 程序化地实施你的版本需求。 贰贰壹. 明智地导出且只在可能场合有请求时才导出。 贰贰贰. 考虑以声明方式导出。 贰贰...
分类:
其他好文 时间:
2016-02-14 00:22:23
阅读次数:
228
第六章:控制结构 零陆贰. 使用代码块if,不要使用后缀if。 例如,下面的就不好理解: $sum+= $measurement if defined $measurement; 其实,它等于: if(defined $measurement) { $sum+= $measurement; } 零陆...
分类:
其他好文 时间:
2016-02-14 00:21:43
阅读次数:
171
第七章:说明文档 零捌肆. 区分用户说明文档和技术说明文档。 零捌伍. 替模块和应用程序创建标准POD模板。 零捌陆. 把你的标准POD模板予以扩展和自定义。 零捌柒. 在源代码文件中放置用户说明文档。 零捌捌. 把所有用户说明文档放在源代码文件中的单独的地方。 零捌玖. 尽可能把POD放在靠近文件...
分类:
其他好文 时间:
2016-02-14 00:20:42
阅读次数:
198
第十三章:错误处理 壹陆玖. 要抛出异常,不要返回特殊值或设定标记。 壹柒零. 让失败的内置函数也抛出异常。 壹柒壹. 让所有上下文中的失败都是致命失败。 #把不可接受的失败行为改为抛出异常 …… useFatal qw( :void locate_and_open); #稍后 …… formy $...
分类:
其他好文 时间:
2016-02-14 00:20:29
阅读次数:
231