用eval捕获错误:perl提供了简洁的eval块来捕获代码运行时的严重错误
eval {$barney=$fred/$dino};
现在即使$dino是零,这一行也不致于让程序崩溃,这里eval其实是一个表达式,所以要分号
如果在运行时eval这块代码诱发了常见错误,就会停止运行,但不至于使程序崩溃
我们要知道程序是正常结束还是触发异常结束,只要看专用的$@变量。
如果eval曾触发异常,$@就会有程序写下的遗言,如果没错误,$@就是空,因此$@可以当做逻辑值的真假,真说明有错误,常见代码如下
print "An error occurred: $@" if $@;
eval同时也是一个块结构,因此可以引入新的my变量
foreach my $person (qw/fred wilma betty barney dino pebbles/){
eval{
open FILE,"<$person" or die "can't open file '$person': $!";
my($total,$count);
while(<FILE>){
$total += $_;
Perl语言入门——高级Perl技巧
最新推荐文章于 2025-04-01 10:16:29 发布