笔记:perl 异常处理eval


参考:
[1]: http://weidagang2046.blog.51cto.com/246444/45923/

错误码被保存在 $@ 中
一、eval EXPR  
        EXPR 是一个的表达式
        eval "print $a" ;
        eval 'print $a' . ', $b' ;
        Perl 解释器会首先解析表达式的值,然后将表达式值作为一条 Perl 语句插入当前执行上下文。每次执行都会解析(实现动态代码效果)

二、eval BLOCK       # 推荐使用
        BLOCK 是一个代码块,例如:
        eval {print $a};
       eval {$a = 1, $b = 2, $c = $a + $b};
        BLOCK 只会被解析一次,然后整个插入当前 eval 函数所在的执行上下文。
        如果BLOCK 中有语法错误、运行时错误遇到 die 语句, eval 将返回 undef 。错误码被保存在 $@ 中
     
 示例
        $rtn =eval($exp);
        if ( ! defined ( $rtn)) {
           print "Exception: " , $@,"\n";
        }
        else {
            print $rtn,"\n";
        }
请使用浏览器的分享功能分享到微信等