Perl编程实用技巧:自定义警告、模块调试与对象处理
1. 自定义词法警告
Perl 5.6引入了一个实用的编译指令 warnings ,它扩展并增强了 -w 和 -W 开关。这个编译指令引入了词法作用域的警告,在词法作用域内,你可以整体或按特定类别启用和禁用警告。
1.1 示例代码
在模拟Perl 6操作符的 say() 函数中,可以尊重当前 $, (输出字段分隔符)的值,避免抛出关于其定义性的无用警告:
use warnings;
# ... more code here...
sub say
{
no warnings 'uninitialized';
print join( $,, @_ ), "\n";
}
1.2 创建自定义警告
当编写自己的模块时,你可以创建自己的警告类别,让代码的用户根据需要启用和禁用。具体操作是在代码中使用 warnings::register 编译指令。以 UNIVERSAL::can 模块为例:
if (warnings::enabled( ))
{
warnings::warn( "Called UNIVERSAL::can( ) as a function, not a method" );
超级会员免费看
订阅专栏 解锁全文
51

被折叠的 条评论
为什么被折叠?



