perl,, eval的使用

上一篇 / 下一篇  2012-04-23 00:11:40 / 个人分类:perl相关

 

第一学习资料是,perldoc -f eval

今天用到这个,主要是在核对清单时,资费说明部分是0.00+0.00这种格式的字符串

脑子里记得eval能执行这种动态代码,但很傻的用了eval BLOCK的方式,折腾了好半天

eval有两种模式,

eval EXPR

eval  BLOCK

第一种模式是可以解析表达式,执行表达式,然后返回执行的结果

第二种模式是常用来捕获异常。

今天遇到的问题就是想将0.00+2.00这种动态执行,我们看下两种模式的情况,便于区分

#!/usr/bin/perl

$test = "0.00+2.00";
print eval $test;
print "\n";
print eval { $test };

运行结果如下:

E:\qindan>perl test_eval.pl
2
0.00+2.00

第一种情况执行了加法,第二种情况返回了块中的最后一句内容。

 


TAG:

 

评分:0

我来说两句

Open Toolbar