in reply to Re: Getting croak to show both caller and callee?
in thread Getting croak to show both caller and callee?
Any thoughts on how to accomplish that?
Here’s one: Change use Carp; to use MyCarp; and put the module “MyCarp.pm” somewhere in your Perl’s path:
#! perl package MyCarp; use strict; use warnings; use Exporter 'import'; our @EXPORT = 'croak'; sub croak { use Carp 'shortmess'; $Carp::Verbose = 1; my @lines = split /\n/, shortmess @_; s/^\s+// for @lines; die $lines[1] . "\n\t" . $lines[2] . "\n"; } 1;
Example output:
17:22 >perl 1229_SoPW.pl b dying at 1229_SoPW.pl line 23, <> line 1. a MyCarp::croak("croaking") called at 1229_SoPW.pl line 22 MyModule::a("MyModule") called at 1229_SoPW.pl line 30 b dying at 1229_SoPW.pl line 23, <> line 3. Terminating on signal SIGINT(2) 17:22 >
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Getting croak to show both caller and callee?
by Anonymous Monk on Apr 28, 2015 at 04:20 UTC |