Abstract_noun
Abstract_noun::Adjective
Abstract_noun::Adjective1::Adjective2
####
package Disk;
package Disk::Audio;
package Disk::DVD;
package Disk::DVD::Rewritable
##
##
use Test::More;
eval "use Test::Pod::Coverage 0.08";
plan skip_all => "Test::Pod::Coverage 0.08 required for testing POD coverage" if $@;
all_pod_coverage_ok();
##
##
sub fred {
open(FH, "< f.tmp") or die "open error f.tmp";
# ... process file here
die "oops"; # if something went wrong
close(FH);
}
eval { fred() };
if ($@) { print "died: $@\n" }
# Update: this is better, see: [id://11130946]
# my $ok = eval { fred(); 1 };
# if (!$ok) { print "died: $@\n" }
# oops, handle FH is still open if exception was thrown.
##
##
sub fred {
open(my $fh, "< f.tmp") or die "open error f.tmp";
# ... process file here
die "oops"; # if something went wrong
close($fh);
}
eval { fred() };
if ($@) { print "died: $@\n" }
# ok, $fh is auto-closed when its ref count goes to zero