| 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 837µs |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 26µs | 125µs | Regexp::Common::URI::RFC2396::BEGIN@3 |
| 1 | 1 | 1 | 17µs | 17µs | Regexp::Common::URI::RFC2396::BEGIN@19 |
| 1 | 1 | 1 | 17µs | 907µs | Regexp::Common::URI::RFC2396::BEGIN@32 |
| 1 | 1 | 1 | 15µs | 111µs | Regexp::Common::URI::RFC2396::BEGIN@11 |
| 1 | 1 | 1 | 11µs | 20µs | Regexp::Common::URI::RFC2396::BEGIN@6 |
| 1 | 1 | 1 | 11µs | 16µs | Regexp::Common::URI::RFC2396::BEGIN@5 |
| 1 | 1 | 1 | 10µs | 43µs | Regexp::Common::URI::RFC2396::BEGIN@8 |
| 1 | 1 | 1 | 6µs | 6µs | Regexp::Common::URI::RFC2396::BEGIN@13 |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package Regexp::Common::URI::RFC2396; | ||||
| 2 | |||||
| 3 | 2 | 33µs | 2 | 125µs | # spent 125µs (26+99) within Regexp::Common::URI::RFC2396::BEGIN@3 which was called:
# once (26µs+99µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 3 # spent 125µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@3
# spent 99µs making 1 call to Regexp::Common::import, recursion: max depth 1, sum of overlapping time 99µs |
| 4 | |||||
| 5 | 2 | 26µs | 2 | 21µs | # spent 16µs (11+5) within Regexp::Common::URI::RFC2396::BEGIN@5 which was called:
# once (11µs+5µ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 5µs making 1 call to strict::import |
| 6 | 2 | 26µs | 2 | 28µ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 | 34µs | 2 | 76µs | # spent 43µs (10+33) within Regexp::Common::URI::RFC2396::BEGIN@8 which was called:
# once (10µs+33µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 8 # spent 43µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@8
# spent 33µs making 1 call to vars::import |
| 9 | 1 | 1µs | $VERSION = '2010010201'; | ||
| 10 | |||||
| 11 | 2 | 26µs | 2 | 207µs | # spent 111µs (15+96) within Regexp::Common::URI::RFC2396::BEGIN@11 which was called:
# once (15µs+96µ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 96µs making 1 call to vars::import |
| 12 | |||||
| 13 | 2 | 80µ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 | 900ns | my %vars; | ||
| 18 | |||||
| 19 | # spent 17µs within Regexp::Common::URI::RFC2396::BEGIN@19 which was called:
# once (17µs+0s) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 30 | ||||
| 20 | 4 | 18µ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 | $vars {parts} = [qw /$query $fragment $param $segment $path_segments | ||||
| 24 | $ftp_segments $rel_segment $abs_path $rel_path | ||||
| 25 | $path/]; | ||||
| 26 | $vars {connect} = [qw /$port $IPv4address $toplabel $domainlabel $hostname | ||||
| 27 | $host $hostport $server $reg_name $authority/]; | ||||
| 28 | $vars {URI} = [qw /$scheme $net_path $opaque_part $hier_part | ||||
| 29 | $relativeURI $absoluteURI $URI_reference/]; | ||||
| 30 | 1 | 31µs | 1 | 17µs | } # spent 17µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@19 |
| 31 | |||||
| 32 | 2 | 416µs | 2 | 1.80ms | # spent 907µs (17+890) within Regexp::Common::URI::RFC2396::BEGIN@32 which was called:
# once (17µs+890µs) by Regexp::Common::URI::RFC2806::BEGIN@4 at line 32 # spent 907µs making 1 call to Regexp::Common::URI::RFC2396::BEGIN@32
# spent 890µs making 1 call to vars::import |
| 33 | |||||
| 34 | 1 | 800ns | @EXPORT = (); | ||
| 35 | 1 | 19µs | @EXPORT_OK = map {@$_} values %vars; | ||
| 36 | 1 | 8µs | %EXPORT_TAGS = (%vars, ALL => [@EXPORT_OK]); | ||
| 37 | |||||
| 38 | # RFC 2396, base definitions. | ||||
| 39 | 1 | 1µs | $digit = '[0-9]'; | ||
| 40 | 1 | 1µs | $upalpha = '[A-Z]'; | ||
| 41 | 1 | 1µs | $lowalpha = '[a-z]'; | ||
| 42 | 1 | 1µs | $alpha = '[a-zA-Z]'; # lowalpha | upalpha | ||
| 43 | 1 | 1µs | $alphanum = '[a-zA-Z0-9]'; # alpha | digit | ||
| 44 | 1 | 1µs | $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 | 1µ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 | 700ns | $query = $urics; | ||
| 61 | 1 | 800ns | $fragment = $urics; | ||
| 62 | 1 | 2µ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 | 1µs | $abs_path = "(?:/$path_segments)"; | ||
| 68 | 1 | 2µs | $rel_path = "(?:$rel_segment(?:$abs_path)?)"; | ||
| 69 | 1 | 4µ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 | 1µs | $userinfo_no_colon = "(?:(?:[a-zA-Z0-9\\-_.!~*'();&=+\$,]+|$escaped)*)"; | ||
| 81 | 1 | 2µs | $server = "(?:(?:$userinfo\@)?$hostport)"; | ||
| 82 | |||||
| 83 | 1 | 1µs | $reg_name = "(?:(?:[a-zA-Z0-9\\-_.!~*'()\$,;:\@&=+]*|$escaped)+)"; | ||
| 84 | 1 | 1µs | $authority = "(?:$server|$reg_name)"; | ||
| 85 | |||||
| 86 | 1 | 1µs | $scheme = "(?:$alpha"."[a-zA-Z0-9+\\-.]*)"; | ||
| 87 | |||||
| 88 | 1 | 4µ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 | 2µ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 | 4µs | $URI_reference = "(?:(?:$absoluteURI|$relativeURI)?(?:#$fragment)?)"; | ||
| 96 | |||||
| 97 | 1 | 36µs | 1; | ||
| 98 | |||||
| 99 | __END__ |