Filename | /Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/darwin-2level/MIME/Base64.pm |
Statements | Executed 14 statements in 5.58ms |
Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
---|---|---|---|---|---|
1 | 1 | 1 | 22µs | 24µs | BEGIN@3 | MIME::Base64::
1 | 1 | 1 | 4µs | 35µs | BEGIN@4 | MIME::Base64::
0 | 0 | 0 | 0s | 0s | decode_base64url | MIME::Base64::
0 | 0 | 0 | 0s | 0s | encode_base64url | MIME::Base64::
Line | State ments |
Time on line |
Calls | Time in subs |
Code |
---|---|---|---|---|---|
1 | package MIME::Base64; | ||||
2 | |||||
3 | 2 | 25µs | 2 | 26µs | # spent 24µs (22+2) within MIME::Base64::BEGIN@3 which was called:
# once (22µs+2µs) by Mojo::Util::BEGIN@16.6 at line 3 # spent 24µs making 1 call to MIME::Base64::BEGIN@3
# spent 2µs making 1 call to strict::import |
4 | 2 | 169µs | 2 | 66µs | # spent 35µs (4+31) within MIME::Base64::BEGIN@4 which was called:
# once (4µs+31µs) by Mojo::Util::BEGIN@16.6 at line 4 # spent 35µs making 1 call to MIME::Base64::BEGIN@4
# spent 31µs making 1 call to warnings::import |
5 | |||||
6 | 1 | 1µs | require Exporter; | ||
7 | 1 | 5µs | our @ISA = qw(Exporter); | ||
8 | 1 | 1µs | our @EXPORT = qw(encode_base64 decode_base64); | ||
9 | 1 | 0s | our @EXPORT_OK = qw(encode_base64url decode_base64url encoded_base64_length decoded_base64_length); | ||
10 | |||||
11 | 1 | 0s | our $VERSION = '3.16'; | ||
12 | |||||
13 | 1 | 0s | require XSLoader; | ||
14 | 1 | 5.36ms | 1 | 5.35ms | XSLoader::load('MIME::Base64', $VERSION); # spent 5.35ms making 1 call to XSLoader::load |
15 | |||||
16 | 1 | 2µs | *encode = \&encode_base64; | ||
17 | 1 | 0s | *decode = \&decode_base64; | ||
18 | |||||
19 | sub encode_base64url { | ||||
20 | my $e = encode_base64(shift, ""); | ||||
21 | $e =~ s/=+\z//; | ||||
22 | $e =~ tr[+/][-_]; | ||||
23 | return $e; | ||||
24 | } | ||||
25 | |||||
26 | sub decode_base64url { | ||||
27 | my $s = shift; | ||||
28 | $s =~ tr[-_][+/]; | ||||
29 | $s .= '=' while length($s) % 4; | ||||
30 | return decode_base64($s); | ||||
31 | } | ||||
32 | |||||
33 | 1 | 9µs | 1; | ||
34 | |||||
35 | __END__ |