perl 调试_一个Perl模块,可以更好地调试

perl 调试

偶尔有一块Perl代码仅用于调试或开发调整很有用。 很好,但是拥有这样的块可能会提高性能,特别是如果是否在运行时做出决定的话。

Curtis“ Ovid” Poe最近编写了一个可以帮助解决此问题的模块: Keyword :: DEVELOPMENT 。 该模块利用Keyword :: Simple和Perl 5.012中引入的可插入关键字体系结构来创建一个新关键字:DEVELOPMENT。 它使用PERL_KEYWORD_DEVELOPMENT环境变量的值来确定是否要执行代码块。

使用它再简单不过了:



   
   
use Keyword :: DEVELOPMENT ;
       
sub doing_my_big_loop {
    my $self = shift ;
    DEVELOPMENT {
        # insert expensive debugging code here!
    }
}

在编译时,已对DEVELOPMENT块中的代码进行了优化,并且根本不存在。

您看到这里的优势了吗? 将环境变量PERL_KEYWORD_DEVELOPMENT设置为在沙盒上为true,在生产环境上为false,可以将有价值的调试工具提交给您的代码存储库,始终在需要时使用。

在没有更先进的配置管理系统的情况下,您也可以使用此模块来处理生产和开发或测试环境之间的设置差异:



   
   
sub connect_to_my_database {
       
    my $dsn = "dbi:mysql:productiondb" ;
    my $user = "db_user" ;
    my $pass = "db_pass" ;
   
    DEVELOPMENT {
        # Override some of that config information
        $dsn = "dbi:mysql:developmentdb" ;
    }
   
    my $db_handle = DBI -> connect ( $dsn , $user , $pass ) ;
}

稍后对该代码段进行增强,可以使您从其他地方(例如,YAML或INI文件)读取配置信息,但是希望您在此处看到该实用程序。

我查看了Keyword :: DEVELOPMENT的源代码,花了大约半小时才想知道:“天哪,为什么我没有想到呢?” 一旦安装了Keyword :: Simple,Curtis提供给我们的模块就会非常简单。 对于我很长时间的编码实践中所需要的东西,这是一个优雅的解决方案。

翻译自: https://opensource.com/article/18/4/perl-module-debugging-code

perl 调试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值