3 # This package implements handy routines for modules that wish to throw
4 # exceptions outside of the current package.
8 @EXPORT = qw(confess croak carp);
14 my ($pack,$file,$line,$sub);
15 while (($pack,$file,$line,$sub) = caller($i++)) {
16 $mess .= "\t$sub " if $error eq "called";
17 $mess .= "$error at $file line $line\n";
25 my ($curpack) = caller(1);
27 my ($pack,$file,$line,$sub);
28 while (($pack,$file,$line,$sub) = caller($i++)) {
29 return "$error at $file line $line\n" if $pack ne $curpack;
34 sub confess { die longmess @_; }
35 sub croak { die shortmess @_; }
36 sub carp { warn shortmess @_; }