Filename | /home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/Regexp/Common/URI/RFC2806.pm |
Statements | Executed 66 statements in 1.23ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 867µs | 2.45ms | BEGIN@4 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 425µs | 1.14ms | BEGIN@3 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 18µs | 839µs | BEGIN@42 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 16µs | 16µs | BEGIN@20 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 11µs | 16µs | BEGIN@6 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 11µs | 19µs | BEGIN@7 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 11µs | 44µs | BEGIN@9 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 10µs | 105µs | BEGIN@12 | Regexp::Common::URI::RFC2806::
1 | 1 | 1 | 6µs | 6µs | BEGIN@14 | Regexp::Common::URI::RFC2806::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Regexp::Common::URI::RFC2806; | ||||
2 | |||||
3 | 2 | 144µs | 2 | 1.34ms | # spent 1.14ms (425µs+712µs) within Regexp::Common::URI::RFC2806::BEGIN@3 which was called:
# once (425µs+712µs) by Regexp::Common::URI::fax::BEGIN@5 at line 3 # spent 1.14ms making 1 call to Regexp::Common::URI::RFC2806::BEGIN@3
# spent 204µs making 1 call to Exporter::import |
4 | 2 | 144µs | 2 | 2.79ms | # spent 2.45ms (867µs+1.59) within Regexp::Common::URI::RFC2806::BEGIN@4 which was called:
# once (867µs+1.59ms) by Regexp::Common::URI::fax::BEGIN@5 at line 4 # spent 2.45ms making 1 call to Regexp::Common::URI::RFC2806::BEGIN@4
# spent 341µs making 1 call to Exporter::import |
5 | |||||
6 | 2 | 24µs | 2 | 21µs | # spent 16µs (11+5) within Regexp::Common::URI::RFC2806::BEGIN@6 which was called:
# once (11µs+5µs) by Regexp::Common::URI::fax::BEGIN@5 at line 6 # spent 16µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@6
# spent 5µs making 1 call to strict::import |
7 | 2 | 26µs | 2 | 28µs | # spent 19µs (11+9) within Regexp::Common::URI::RFC2806::BEGIN@7 which was called:
# once (11µs+9µs) by Regexp::Common::URI::fax::BEGIN@5 at line 7 # spent 19µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@7
# spent 9µs making 1 call to warnings::import |
8 | |||||
9 | 2 | 33µs | 2 | 77µs | # spent 44µs (11+33) within Regexp::Common::URI::RFC2806::BEGIN@9 which was called:
# once (11µs+33µs) by Regexp::Common::URI::fax::BEGIN@5 at line 9 # spent 44µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@9
# spent 33µs making 1 call to vars::import |
10 | 1 | 1µs | $VERSION = '2010010201'; | ||
11 | |||||
12 | 2 | 26µs | 2 | 200µs | # spent 105µs (10+95) within Regexp::Common::URI::RFC2806::BEGIN@12 which was called:
# once (10µs+95µs) by Regexp::Common::URI::fax::BEGIN@5 at line 12 # spent 105µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@12
# spent 95µs making 1 call to vars::import |
13 | |||||
14 | 2 | 79µs | 1 | 6µs | # spent 6µs within Regexp::Common::URI::RFC2806::BEGIN@14 which was called:
# once (6µs+0s) by Regexp::Common::URI::fax::BEGIN@5 at line 14 # spent 6µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@14 |
15 | 1 | 6µs | @ISA = qw /Exporter/; | ||
16 | |||||
17 | |||||
18 | 1 | 1µs | my %vars; | ||
19 | |||||
20 | # spent 16µs within Regexp::Common::URI::RFC2806::BEGIN@20 which was called:
# once (16µs+0s) by Regexp::Common::URI::fax::BEGIN@5 at line 40 | ||||
21 | 6 | 30µs | $vars {low} = [qw /$dtmf_digit $wait_for_dial_tone $one_second_pause | ||
22 | $pause_character $visual_separator $phonedigit | ||||
23 | $escaped_no_dquote $quoted_string $token_char | ||||
24 | $token_chars/]; | ||||
25 | $vars {parts} = [qw /$future_extension/]; | ||||
26 | $vars {connect} = [qw /$provider_hostname $provider_tag $service_provider | ||||
27 | $private_prefix $local_network_prefix | ||||
28 | $global_network_prefix $network_prefix/]; | ||||
29 | $vars {phone} = [qw /$phone_context_ident $phone_context_tag | ||||
30 | $area_specifier $post_dial $isdn_subaddress | ||||
31 | $t33_subaddress $local_phone_number | ||||
32 | $local_phone_number_no_future | ||||
33 | $base_phone_number $global_phone_number | ||||
34 | $global_phone_number_no_future $telephone_subscriber | ||||
35 | $telephone_subscriber_no_future/]; | ||||
36 | $vars {fax} = [qw /$fax_local_phone $fax_local_phone_no_future | ||||
37 | $fax_global_phone $fax_global_phone_no_future | ||||
38 | $fax_subscriber $fax_subscriber_no_future/]; | ||||
39 | $vars {modem} = [qw //]; | ||||
40 | 1 | 38µs | 1 | 16µs | } # spent 16µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@20 |
41 | |||||
42 | 2 | 518µs | 2 | 1.66ms | # spent 839µs (18+821) within Regexp::Common::URI::RFC2806::BEGIN@42 which was called:
# once (18µs+821µs) by Regexp::Common::URI::fax::BEGIN@5 at line 42 # spent 839µs making 1 call to Regexp::Common::URI::RFC2806::BEGIN@42
# spent 821µs making 1 call to vars::import |
43 | |||||
44 | 1 | 1µs | @EXPORT = (); | ||
45 | 1 | 16µs | @EXPORT_OK = map {@$_} values %vars; | ||
46 | 1 | 7µs | %EXPORT_TAGS = (%vars, ALL => [@EXPORT_OK]); | ||
47 | |||||
48 | |||||
49 | # RFC 2806, URIs for tel, fax & modem. | ||||
50 | 1 | 1µs | $dtmf_digit = "(?:[*#ABCD])"; | ||
51 | 1 | 1µs | $wait_for_dial_tone= "(?:w)"; | ||
52 | 1 | 700ns | $one_second_pause = "(?:p)"; | ||
53 | 1 | 1µs | $pause_character = "(?:[wp])"; # wait_for_dial_tone | one_second_pause. | ||
54 | 1 | 700ns | $visual_separator = "(?:[\\-.()])"; | ||
55 | 1 | 1µs | $phonedigit = "(?:[0-9\\-.()])"; # DIGIT | visual_separator | ||
56 | 1 | 2µs | $escaped_no_dquote = "(?:%(?:[01]$hex)|2[013-9A-Fa-f]|[3-9A-Fa-f]$hex)"; | ||
57 | 1 | 3µs | $quoted_string = "(?:%22(?:(?:%5C(?:$unreserved|$escaped))|" . | ||
58 | "$unreserved+|$escaped_no_dquote)*%22)"; | ||||
59 | # It is unclear wether we can allow only unreserved | ||||
60 | # characters to unescaped, or can we also use uric | ||||
61 | # characters that are unescaped? Or pchars? | ||||
62 | 1 | 700ns | $token_char = "(?:[!'*\\-.0-9A-Z_a-z~]|" . | ||
63 | "%(?:2[13-7ABDEabde]|3[0-9]|4[1-9A-Fa-f]|" . | ||||
64 | "5[AEFaef]|6[0-9A-Fa-f]|7[0-9ACEace]))"; | ||||
65 | # Only allowing unreserved chars to be unescaped. | ||||
66 | 1 | 1µs | $token_chars = "(?:(?:[!'*\\-.0-9A-Z_a-z~]+|" . | ||
67 | "%(?:2[13-7ABDEabde]|3[0-9]|4[1-9A-Fa-f]|" . | ||||
68 | "5[AEFaef]|6[0-9A-Fa-f]|7[0-9ACEace]))*)"; | ||||
69 | 1 | 3µs | $future_extension = "(?:;$token_chars" . | ||
70 | "(?:=(?:(?:$token_chars(?:[?]$token_chars)?)|" . | ||||
71 | "$quoted_string))?)"; | ||||
72 | 1 | 1µs | $provider_hostname = $domain; | ||
73 | 1 | 700ns | $provider_tag = "(?:tsp)"; | ||
74 | 1 | 2µs | $service_provider = "(?:;$provider_tag=$provider_hostname)"; | ||
75 | 1 | 1µs | $private_prefix = "(?:(?:[!'E-OQ-VX-Z_e-oq-vx-z~]|" . | ||
76 | "(?:%(?:2[124-7CFcf]|3[AC-Fac-f]|4[05-9A-Fa-f]|" . | ||||
77 | "5[1-689A-Fa-f]|6[05-9A-Fa-f]|" . | ||||
78 | "7[1-689A-Ea-e])))" . | ||||
79 | "(?:[!'()*\\-.0-9A-Z_a-z~]+|" . | ||||
80 | "(?:%(?:2[1-9A-Fa-f]|3[AC-Fac-f]|" . | ||||
81 | "[4-6][0-9A-Fa-f]|7[0-9A-Ea-e])))*)"; | ||||
82 | 1 | 1µs | $local_network_prefix | ||
83 | = "(?:[0-9\\-.()*#ABCDwp]+)"; | ||||
84 | 1 | 1µs | $global_network_prefix | ||
85 | = "(?:[+][0-9\\-.()]+)"; | ||||
86 | 1 | 2µs | $network_prefix = "(?:$global_network_prefix|$local_network_prefix)"; | ||
87 | 1 | 2µs | $phone_context_ident | ||
88 | = "(?:$network_prefix|$private_prefix)"; | ||||
89 | 1 | 1µs | $phone_context_tag = "(?:phone-context)"; | ||
90 | 1 | 2µs | $area_specifier = "(?:;$phone_context_tag=$phone_context_ident)"; | ||
91 | 1 | 1µs | $post_dial = "(?:;postd=[0-9\\-.()*#ABCDwp]+)"; | ||
92 | 1 | 1µs | $isdn_subaddress = "(?:;isub=[0-9\\-.()]+)"; | ||
93 | 1 | 1µs | $t33_subaddress = "(?:;tsub=[0-9\\-.()]+)"; | ||
94 | |||||
95 | 1 | 7µs | $local_phone_number= "(?:[0-9\\-.()*#ABCDwp]+$isdn_subaddress?" . | ||
96 | "$post_dial?$area_specifier" . | ||||
97 | "(?:$area_specifier|$service_provider|" . | ||||
98 | "$future_extension)*)"; | ||||
99 | 1 | 4µs | $local_phone_number_no_future | ||
100 | = "(?:[0-9\\-.()*#ABCDwp]+$isdn_subaddress?" . | ||||
101 | "$post_dial?$area_specifier" . | ||||
102 | "(?:$area_specifier|$service_provider)*)"; | ||||
103 | 1 | 6µs | $fax_local_phone = "(?:[0-9\\-.()*#ABCDwp]+$isdn_subaddress?" . | ||
104 | "$t33_subaddress?$post_dial?$area_specifier" . | ||||
105 | "(?:$area_specifier|$service_provider|" . | ||||
106 | "$future_extension)*)"; | ||||
107 | 1 | 6µs | $fax_local_phone_no_future | ||
108 | = "(?:[0-9\\-.()*#ABCDwp]+$isdn_subaddress?" . | ||||
109 | "$t33_subaddress?$post_dial?$area_specifier" . | ||||
110 | "(?:$area_specifier|$service_provider)*)"; | ||||
111 | 1 | 1µs | $base_phone_number = "(?:[0-9\\-.()]+)"; | ||
112 | 1 | 6µs | $global_phone_number | ||
113 | = "(?:[+]$base_phone_number$isdn_subaddress?" . | ||||
114 | "$post_dial?" . | ||||
115 | "(?:$area_specifier|$service_provider|" . | ||||
116 | "$future_extension)*)"; | ||||
117 | 1 | 3µs | $global_phone_number_no_future | ||
118 | = "(?:[+]$base_phone_number$isdn_subaddress?" . | ||||
119 | "$post_dial?" . | ||||
120 | "(?:$area_specifier|$service_provider)*)"; | ||||
121 | 1 | 6µs | $fax_global_phone = "(?:[+]$base_phone_number$isdn_subaddress?" . | ||
122 | "$t33_subaddress?$post_dial?" . | ||||
123 | "(?:$area_specifier|$service_provider|" . | ||||
124 | "$future_extension)*)"; | ||||
125 | 1 | 3µs | $fax_global_phone_no_future | ||
126 | = "(?:[+]$base_phone_number$isdn_subaddress?" . | ||||
127 | "$t33_subaddress?$post_dial?" . | ||||
128 | "(?:$area_specifier|$service_provider)*)"; | ||||
129 | 1 | 4µs | $telephone_subscriber | ||
130 | = "(?:$global_phone_number|$local_phone_number)"; | ||||
131 | 1 | 9µs | $telephone_subscriber_no_future | ||
132 | = "(?:$global_phone_number_no_future|" . | ||||
133 | "$local_phone_number_no_future)"; | ||||
134 | 1 | 4µs | $fax_subscriber = "(?:$fax_global_phone|$fax_local_phone)"; | ||
135 | 1 | 4µs | $fax_subscriber_no_future | ||
136 | = "(?:$fax_global_phone_no_future|" . | ||||
137 | "$fax_local_phone_no_future)"; | ||||
138 | |||||
139 | 1 | 39µs | 1; | ||
140 | |||||
141 | __END__ |