Filename | /home/hinrik/perl5/perlbrew/perls/perl-5.13.5/lib/site_perl/5.13.5/Regexp/Common/URI/RFC2396.pm |
Statements | Executed 68 statements in 830µs |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 26µs | 109µs | BEGIN@3 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 17µs | 916µs | BEGIN@32 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 17µs | 51µs | BEGIN@8 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 16µs | 16µs | BEGIN@19 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 12µs | 16µs | BEGIN@5 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 11µs | 20µs | BEGIN@6 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 11µs | 111µs | BEGIN@11 | Regexp::Common::URI::RFC2396::
1 | 1 | 1 | 6µs | 6µs | BEGIN@13 | Regexp::Common::URI::RFC2396::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package Regexp::Common::URI::RFC2396; | ||||
2 | |||||
3 | 2 | 30µs | 2 | 109µs | # spent 109µs (26+83) within Regexp::Common::URI::RFC2396::BEGIN@3 which was called:
# once (26µs+83µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 3 # spent 109µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@3
# spent 83µs making 1 call to Regexp::Common::import, recursion: max depth 1, sum of overlapping time 83µs |
4 | |||||
5 | 2 | 27µs | 2 | 21µs | # spent 16µs (12+4) within Regexp::Common::URI::RFC2396::BEGIN@5 which was called:
# once (12µs+4µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 5 # spent 16µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@5
# spent 4µs making 1 call to strict::import |
6 | 2 | 28µs | 2 | 29µs | # spent 20µs (11+9) within Regexp::Common::URI::RFC2396::BEGIN@6 which was called:
# once (11µs+9µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 6 # spent 20µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@6
# spent 9µs making 1 call to warnings::import |
7 | |||||
8 | 2 | 39µs | 2 | 85µs | # spent 51µs (17+34) within Regexp::Common::URI::RFC2396::BEGIN@8 which was called:
# once (17µs+34µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 8 # spent 51µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@8
# spent 34µs making 1 call to vars::import |
9 | 1 | 2µs | $VERSION = '2010010201'; | ||
10 | |||||
11 | 2 | 26µs | 2 | 212µs | # spent 111µs (11+100) within Regexp::Common::URI::RFC2396::BEGIN@11 which was called:
# once (11µs+100µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 11 # spent 111µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@11
# spent 100µs making 1 call to vars::import |
12 | |||||
13 | 2 | 100µs | 1 | 6µs | # spent 6µs within Regexp::Common::URI::RFC2396::BEGIN@13 which was called:
# once (6µs+0s) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 13 # spent 6µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@13 |
14 | 1 | 6µs | @ISA = qw /Exporter/; | ||
15 | |||||
16 | |||||
17 | 1 | 1µs | my %vars; | ||
18 | |||||
19 | # spent 16µs within Regexp::Common::URI::RFC2396::BEGIN@19 which was called:
# once (16µs+0s) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 30 | ||||
20 | 1 | 4µs | $vars {low} = [qw /$digit $upalpha $lowalpha $alpha $alphanum $hex | ||
21 | $escaped $mark $unreserved $reserved $pchar $uric | ||||
22 | $urics $userinfo $userinfo_no_colon $uric_no_slash/]; | ||||
23 | 1 | 3µs | $vars {parts} = [qw /$query $fragment $param $segment $path_segments | ||
24 | $ftp_segments $rel_segment $abs_path $rel_path | ||||
25 | $path/]; | ||||
26 | 1 | 2µs | $vars {connect} = [qw /$port $IPv4address $toplabel $domainlabel $hostname | ||
27 | $host $hostport $server $reg_name $authority/]; | ||||
28 | 1 | 7µs | $vars {URI} = [qw /$scheme $net_path $opaque_part $hier_part | ||
29 | $relativeURI $absoluteURI $URI_reference/]; | ||||
30 | 1 | 30µs | 1 | 16µs | } # spent 16µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@19 |
31 | |||||
32 | 2 | 385µs | 2 | 1.81ms | # spent 916µs (17+899) within Regexp::Common::URI::RFC2396::BEGIN@32 which was called:
# once (17µs+899µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 32 # spent 916µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@32
# spent 899µs making 1 call to vars::import |
33 | |||||
34 | 1 | 900ns | @EXPORT = (); | ||
35 | 1 | 19µs | @EXPORT_OK = map {@$_} values %vars; | ||
36 | 1 | 7µs | %EXPORT_TAGS = (%vars, ALL => [@EXPORT_OK]); | ||
37 | |||||
38 | # RFC 2396, base definitions. | ||||
39 | 1 | 1µs | $digit = '[0-9]'; | ||
40 | 1 | 800ns | $upalpha = '[A-Z]'; | ||
41 | 1 | 900ns | $lowalpha = '[a-z]'; | ||
42 | 1 | 1µs | $alpha = '[a-zA-Z]'; # lowalpha | upalpha | ||
43 | 1 | 700ns | $alphanum = '[a-zA-Z0-9]'; # alpha | digit | ||
44 | 1 | 800ns | $hex = '[a-fA-F0-9]'; | ||
45 | 1 | 2µs | $escaped = "(?:%$hex$hex)"; | ||
46 | 1 | 1µs | $mark = "[\\-_.!~*'()]"; | ||
47 | 1 | 1µs | $unreserved = "[a-zA-Z0-9\\-_.!~*'()]"; # alphanum | mark | ||
48 | # %61-%7A, %41-%5A, %30-%39 | ||||
49 | # a - z A - Z 0 - 9 | ||||
50 | # %21, %27, %28, %29, %2A, %2D, %2E, %5F, %7E | ||||
51 | # ! ' ( ) * - . _ ~ | ||||
52 | 1 | 1µs | $reserved = "[;/?:@&=+\$,]"; | ||
53 | 1 | 2µs | $pchar = "(?:[a-zA-Z0-9\\-_.!~*'():\@&=+\$,]|$escaped)"; | ||
54 | # unreserved | escaped | [:@&=+$,] | ||||
55 | 1 | 2µs | $uric = "(?:[;/?:\@&=+\$,a-zA-Z0-9\\-_.!~*'()]|$escaped)"; | ||
56 | # reserved | unreserved | escaped | ||||
57 | 1 | 2µs | $urics = "(?:(?:[;/?:\@&=+\$,a-zA-Z0-9\\-_.!~*'()]+|" . | ||
58 | "$escaped)*)"; | ||||
59 | |||||
60 | 1 | 900ns | $query = $urics; | ||
61 | 1 | 700ns | $fragment = $urics; | ||
62 | 1 | 1µs | $param = "(?:(?:[a-zA-Z0-9\\-_.!~*'():\@&=+\$,]+|$escaped)*)"; | ||
63 | 1 | 2µs | $segment = "(?:$param(?:;$param)*)"; | ||
64 | 1 | 2µs | $path_segments = "(?:$segment(?:/$segment)*)"; | ||
65 | 1 | 2µs | $ftp_segments = "(?:$param(?:/$param)*)"; # NOT from RFC 2396. | ||
66 | 1 | 2µs | $rel_segment = "(?:(?:[a-zA-Z0-9\\-_.!~*'();\@&=+\$,]*|$escaped)+)"; | ||
67 | 1 | 2µs | $abs_path = "(?:/$path_segments)"; | ||
68 | 1 | 2µs | $rel_path = "(?:$rel_segment(?:$abs_path)?)"; | ||
69 | 1 | 2µs | $path = "(?:(?:$abs_path|$rel_path)?)"; | ||
70 | |||||
71 | 1 | 1µs | $port = "(?:$digit*)"; | ||
72 | 1 | 2µs | $IPv4address = "(?:$digit+[.]$digit+[.]$digit+[.]$digit+)"; | ||
73 | 1 | 2µs | $toplabel = "(?:$alpha"."[-a-zA-Z0-9]*$alphanum|$alpha)"; | ||
74 | 1 | 2µs | $domainlabel = "(?:(?:$alphanum"."[-a-zA-Z0-9]*)?$alphanum)"; | ||
75 | 1 | 2µs | $hostname = "(?:(?:$domainlabel\[.])*$toplabel\[.]?)"; | ||
76 | 1 | 2µs | $host = "(?:$hostname|$IPv4address)"; | ||
77 | 1 | 2µs | $hostport = "(?:$host(?::$port)?)"; | ||
78 | |||||
79 | 1 | 2µs | $userinfo = "(?:(?:[a-zA-Z0-9\\-_.!~*'();:&=+\$,]+|$escaped)*)"; | ||
80 | 1 | 2µs | $userinfo_no_colon = "(?:(?:[a-zA-Z0-9\\-_.!~*'();&=+\$,]+|$escaped)*)"; | ||
81 | 1 | 2µs | $server = "(?:(?:$userinfo\@)?$hostport)"; | ||
82 | |||||
83 | 1 | 2µs | $reg_name = "(?:(?:[a-zA-Z0-9\\-_.!~*'()\$,;:\@&=+]*|$escaped)+)"; | ||
84 | 1 | 2µs | $authority = "(?:$server|$reg_name)"; | ||
85 | |||||
86 | 1 | 2µs | $scheme = "(?:$alpha"."[a-zA-Z0-9+\\-.]*)"; | ||
87 | |||||
88 | 1 | 3µs | $net_path = "(?://$authority$abs_path?)"; | ||
89 | 1 | 2µs | $uric_no_slash = "(?:[a-zA-Z0-9\\-_.!~*'();?:\@&=+\$,]|$escaped)"; | ||
90 | 1 | 2µs | $opaque_part = "(?:$uric_no_slash$urics)"; | ||
91 | 1 | 3µs | $hier_part = "(?:(?:$net_path|$abs_path)(?:[?]$query)?)"; | ||
92 | |||||
93 | 1 | 4µs | $relativeURI = "(?:(?:$net_path|$abs_path|$rel_path)(?:[?]$query)?"; | ||
94 | 1 | 4µs | $absoluteURI = "(?:$scheme:(?:$hier_part|$opaque_part))"; | ||
95 | 1 | 6µs | $URI_reference = "(?:(?:$absoluteURI|$relativeURI)?(?:#$fragment)?)"; | ||
96 | |||||
97 | 1 | 36µs | 1; | ||
98 | |||||
99 | __END__ |