Subroutines
Calls |
P |
F |
Exclusive Time |
Inclusive Time |
Subroutine |
0 | 0 | 0 | 0s | 0s | Carp::::carpCarp::carp |
0 | 0 | 0 | 0s | 0s | Carp::::cluckCarp::cluck |
0 | 0 | 0 | 0s | 0s | Carp::::confessCarp::confess |
0 | 0 | 0 | 0s | 0s | Carp::::croakCarp::croak |
0 | 0 | 0 | 0s | 0s | Carp::::export_failCarp::export_fail |
0 | 0 | 0 | 0s | 0s | Carp::::longmessCarp::longmess |
0 | 0 | 0 | 0s | 0s | Carp::::longmess_jmpCarp::longmess_jmp |
0 | 0 | 0 | 0s | 0s | Carp::::shortmessCarp::shortmess |
0 | 0 | 0 | 0s | 0s | Carp::::shortmess_jmpCarp::shortmess_jmp |
Call graph for these subroutines as a
Graphviz
dot language file.
Line |
State ments |
Time on line |
Calls |
Time in subs |
1 | | | | | package Carp; |
2 | | | | | |
3 | 1 | 700ns | | | our $VERSION = '1.11'; |
4 | | | | | # this file is an utra-lightweight stub. The first time a function is |
5 | | | | | # called, Carp::Heavy is loaded, and the real short/longmessmess_jmp |
6 | | | | | # subs are installed |
7 | | | | | |
8 | 1 | 300ns | | | our $MaxEvalLen = 0; |
9 | 1 | 200ns | | | our $Verbose = 0; |
10 | 1 | 100ns | | | our $CarpLevel = 0; |
11 | 1 | 200ns | | | our $MaxArgLen = 64; # How much of each argument to print. 0 = all. |
12 | 1 | 200ns | | | our $MaxArgNums = 8; # How many arguments to print. 0 = all. |
13 | | | | | |
14 | 1 | 768µs | | | require Exporter; |
15 | 1 | 17µs | | | our @ISA = ('Exporter'); |
16 | 1 | 42µs | | | our @EXPORT = qw(confess croak carp); |
17 | 1 | 2µs | | | our @EXPORT_OK = qw(cluck verbose longmess shortmess); |
18 | 1 | 500ns | | | our @EXPORT_FAIL = qw(verbose); # hook to enable verbose mode |
19 | | | | | |
20 | | | | | # if the caller specifies verbose usage ("perl -MCarp=verbose script.pl") |
21 | | | | | # then the following method will be called by the Exporter which knows |
22 | | | | | # to do this thanks to @EXPORT_FAIL, above. $_[1] will contain the word |
23 | | | | | # 'verbose'. |
24 | | | | | |
25 | | | | | sub export_fail { shift; $Verbose = shift if $_[0] eq 'verbose'; @_ } |
26 | | | | | |
27 | | | | | # fixed hooks for stashes to point to |
28 | | | | | sub longmess { goto &longmess_jmp } |
29 | | | | | sub shortmess { goto &shortmess_jmp } |
30 | | | | | # these two are replaced when Carp::Heavy is loaded |
31 | | | | | sub longmess_jmp { |
32 | | | | | local($@, $!); |
33 | | | | | eval { require Carp::Heavy }; |
34 | | | | | return $@ if $@; |
35 | | | | | goto &longmess_real; |
36 | | | | | } |
37 | | | | | sub shortmess_jmp { |
38 | | | | | local($@, $!); |
39 | | | | | eval { require Carp::Heavy }; |
40 | | | | | return $@ if $@; |
41 | | | | | goto &shortmess_real; |
42 | | | | | } |
43 | | | | | |
44 | | | | | sub croak { die shortmess @_ } |
45 | | | | | sub confess { die longmess @_ } |
46 | | | | | sub carp { warn shortmess @_ } |
47 | | | | | sub cluck { warn longmess @_ } |
48 | | | | | |
49 | 1 | 8µs | | | 1; |
50 | | | | | __END__ |