Filename | /usr/local/lib/perl5/site_perl/mach/5.24/Net/LibIDN.pm |
Statements | Executed 24 statements in 1.35ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 75µs | 75µs | bootstrap (xsub) | Net::LibIDN::
1 | 1 | 1 | 55µs | 55µs | BEGIN@3 | Net::LibIDN::
1 | 1 | 1 | 35µs | 44µs | BEGIN@4 | Net::LibIDN::
1 | 1 | 1 | 28µs | 51µs | BEGIN@5 | Net::LibIDN::
1 | 1 | 1 | 27µs | 129µs | BEGIN@6 | Net::LibIDN::
1 | 1 | 1 | 27µs | 206µs | BEGIN@7 | Net::LibIDN::
1 | 1 | 1 | 25µs | 78µs | BEGIN@85 | Net::LibIDN::
1 | 1 | 1 | 23µs | 373µs | BEGIN@11 | Net::LibIDN::
0 | 0 | 0 | 0s | 0s | AUTOLOAD | Net::LibIDN::
0 | 0 | 0 | 0s | 0s | IDNA_ALLOW_UNASSIGNED | Net::LibIDN::
0 | 0 | 0 | 0s | 0s | IDNA_USE_STD3_ASCII_RULES | Net::LibIDN::
0 | 0 | 0 | 0s | 0s | __ANON__[:89] | Net::LibIDN::
0 | 0 | 0 | 0s | 0s | __ANON__[:93] | Net::LibIDN::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Net::LibIDN; | ||||
2 | |||||
3 | 2 | 110µs | 1 | 55µs | # spent 55µs within Net::LibIDN::BEGIN@3 which was called:
# once (55µs+0s) by Net::DNS::Domain::BEGIN@53 at line 3 # spent 55µs making 1 call to Net::LibIDN::BEGIN@3 |
4 | 2 | 74µs | 2 | 52µs | # spent 44µs (35+9) within Net::LibIDN::BEGIN@4 which was called:
# once (35µs+9µs) by Net::DNS::Domain::BEGIN@53 at line 4 # spent 44µs making 1 call to Net::LibIDN::BEGIN@4
# spent 9µs making 1 call to strict::import |
5 | 2 | 63µs | 2 | 74µs | # spent 51µs (28+23) within Net::LibIDN::BEGIN@5 which was called:
# once (28µs+23µs) by Net::DNS::Domain::BEGIN@53 at line 5 # spent 51µs making 1 call to Net::LibIDN::BEGIN@5
# spent 23µs making 1 call to warnings::import |
6 | 2 | 76µs | 2 | 231µs | # spent 129µs (27+102) within Net::LibIDN::BEGIN@6 which was called:
# once (27µs+102µs) by Net::DNS::Domain::BEGIN@53 at line 6 # spent 129µs making 1 call to Net::LibIDN::BEGIN@6
# spent 102µs making 1 call to Exporter::import |
7 | 2 | 67µs | 2 | 385µs | # spent 206µs (27+179) within Net::LibIDN::BEGIN@7 which was called:
# once (27µs+179µs) by Net::DNS::Domain::BEGIN@53 at line 7 # spent 206µs making 1 call to Net::LibIDN::BEGIN@7
# spent 179µs making 1 call to Exporter::import |
8 | |||||
9 | 1 | 2µs | require Exporter; | ||
10 | 1 | 2µs | require DynaLoader; | ||
11 | 2 | 578µs | 2 | 722µs | # spent 373µs (23+349) within Net::LibIDN::BEGIN@11 which was called:
# once (23µs+349µs) by Net::DNS::Domain::BEGIN@53 at line 11 # spent 373µs making 1 call to Net::LibIDN::BEGIN@11
# spent 349µs making 1 call to AutoLoader::import |
12 | |||||
13 | 1 | 23µs | our @ISA = qw(Exporter DynaLoader); | ||
14 | |||||
15 | # Items to export into callers namespace by default. Note: do not export | ||||
16 | # names by default without a very good reason. Use EXPORT_OK instead. | ||||
17 | # Do not simply export all your public functions/methods/constants. | ||||
18 | |||||
19 | # This allows declaration use Net::LibIDN ':all'; | ||||
20 | # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK | ||||
21 | # will save memory. | ||||
22 | 1 | 6µs | our %EXPORT_TAGS = ( 'all' => [ qw( | ||
23 | idn_to_ascii | ||||
24 | idn_to_unicode | ||||
25 | idn_punycode_encode | ||||
26 | idn_punycode_decode | ||||
27 | idn_prep_name | ||||
28 | idn_prep_kerberos5 | ||||
29 | idn_prep_node | ||||
30 | idn_prep_resource | ||||
31 | idn_prep_plain | ||||
32 | idn_prep_trace | ||||
33 | idn_prep_sasl | ||||
34 | idn_prep_iscsi | ||||
35 | tld_check | ||||
36 | tld_get | ||||
37 | tld_get_table | ||||
38 | IDNA_ALLOW_UNASSIGNED | ||||
39 | IDNA_USE_STD3_ASCII_RULES | ||||
40 | ) ] ); | ||||
41 | |||||
42 | 2 | 9µs | our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); | ||
43 | |||||
44 | 1 | 2µs | our @EXPORT = qw( | ||
45 | IDNA_ALLOW_UNASSIGNED | ||||
46 | IDNA_USE_STD3_ASCII_RULES | ||||
47 | ); | ||||
48 | 1 | 2µs | our $VERSION = '0.12'; | ||
49 | |||||
50 | # avoid prototyping error message | ||||
51 | |||||
52 | sub IDNA_ALLOW_UNASSIGNED | ||||
53 | { | ||||
54 | return constant("IDNA_ALLOW_UNASSIGNED", length("IDNA_ALLOW_UNASSIGNED")); | ||||
55 | } | ||||
56 | |||||
57 | sub IDNA_USE_STD3_ASCII_RULES | ||||
58 | { | ||||
59 | return constant("IDNA_USE_STD3_ASCII_RULES", length("IDNA_USE_STD3_ASCII_RULES")); | ||||
60 | } | ||||
61 | |||||
62 | sub AUTOLOAD { | ||||
63 | # This AUTOLOAD is used to 'autoload' constants from the constant() | ||||
64 | # XS function. If a constant is not found then control is passed | ||||
65 | # to the AUTOLOAD in AutoLoader. | ||||
66 | |||||
67 | my $constname; | ||||
68 | our $AUTOLOAD; | ||||
69 | ($constname = $AUTOLOAD) =~ s/.*:://; | ||||
70 | croak "& not defined" if $constname eq 'constant'; | ||||
71 | my $val = constant($constname, @_ ? $_[0] : 0); | ||||
72 | if ($! != 0) | ||||
73 | { | ||||
74 | if ($!{EINVAL}) | ||||
75 | { | ||||
76 | $AutoLoader::AUTOLOAD = $AUTOLOAD; | ||||
77 | goto &AutoLoader::AUTOLOAD; | ||||
78 | } | ||||
79 | else | ||||
80 | { | ||||
81 | croak "Your vendor has not defined Net::LibIDN macro $constname"; | ||||
82 | } | ||||
83 | } | ||||
84 | { | ||||
85 | 2 | 282µs | 2 | 131µs | # spent 78µs (25+53) within Net::LibIDN::BEGIN@85 which was called:
# once (25µs+53µs) by Net::DNS::Domain::BEGIN@53 at line 85 # spent 78µs making 1 call to Net::LibIDN::BEGIN@85
# spent 53µs making 1 call to strict::unimport |
86 | # Fixed between 5.005_53 and 5.005_61 | ||||
87 | if ($] >= 5.00561) | ||||
88 | { | ||||
89 | *$AUTOLOAD = sub () { $val }; | ||||
90 | } | ||||
91 | else | ||||
92 | { | ||||
93 | *$AUTOLOAD = sub { $val }; | ||||
94 | } | ||||
95 | } | ||||
96 | goto &$AUTOLOAD; | ||||
97 | } | ||||
98 | |||||
99 | 1 | 25µs | 1 | 869µs | bootstrap Net::LibIDN $VERSION; # spent 869µs making 1 call to DynaLoader::bootstrap |
100 | |||||
101 | # Preloaded methods go here. | ||||
102 | |||||
103 | # Autoload methods go after =cut, and are processed by the autosplit program. | ||||
104 | |||||
105 | 1 | 31µs | 1; | ||
106 | __END__ | ||||
# spent 75µs within Net::LibIDN::bootstrap which was called:
# once (75µs+0s) by DynaLoader::bootstrap at line 210 of DynaLoader.pm |