summaryrefslogtreecommitdiff
path: root/lib/Carp.pm
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2006-05-29 14:12:13 +0000
committerDave Mitchell <davem@fdisolutions.com>2006-05-29 14:12:13 +0000
commit090656d2188162bd37e6423633fb806b30c6408b (patch)
treeb3d717009dac87ffff1b88a57bb93ba18f6b31c8 /lib/Carp.pm
parent35746476c6cfdad82a9e0a09a8c918eb454dff46 (diff)
downloadperl-090656d2188162bd37e6423633fb806b30c6408b.tar.gz
ensure failure to load Carp::Heavy gets reported
p4raw-id: //depot/perl@28330
Diffstat (limited to 'lib/Carp.pm')
-rw-r--r--lib/Carp.pm14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/Carp.pm b/lib/Carp.pm
index c0ffb9c591..5545c3937d 100644
--- a/lib/Carp.pm
+++ b/lib/Carp.pm
@@ -28,8 +28,18 @@ sub export_fail { shift; $Verbose = shift if $_[0] eq 'verbose'; @_ }
sub longmess { goto &longmess_jmp }
sub shortmess { goto &shortmess_jmp }
# these two are replaced when Carp::Heavy is loaded
-sub longmess_jmp {{ local($@, $!); require Carp::Heavy} goto &longmess_jmp}
-sub shortmess_jmp {{ local($@, $!); require Carp::Heavy} goto &shortmess_jmp}
+sub longmess_jmp {
+ local($@, $!);
+ eval { require Carp::Heavy };
+ return $@ if $@;
+ goto &longmess_jmp;
+}
+sub shortmess_jmp {
+ local($@, $!);
+ eval { require Carp::Heavy };
+ return $@ if $@;
+ goto &shortmess_jmp;
+}
sub croak { die shortmess @_ }
sub confess { die longmess @_ }