用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技巧
最新推荐文章于 2024-06-24 16:15:27 发布
本文介绍了Perl编程中的高级技巧,包括使用eval捕获错误,如何利用grep筛选列表,使用map进行列表转换,不带引号的哈希键操作,以及切片技术在数组和哈希中的应用。通过这些技巧,可以提升Perl代码的效率和可读性。
摘要由CSDN通过智能技术生成