| Filename | /Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/darwin-2level/MIME/Base64.pm |
| Statements | Executed 14 statements in 1.04ms |
| Calls | P | F | Exclusive Time |
Inclusive Time |
Subroutine |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 15µs | 19µs | MIME::Base64::BEGIN@3 |
| 1 | 1 | 1 | 5µs | 34µs | MIME::Base64::BEGIN@4 |
| 0 | 0 | 0 | 0s | 0s | MIME::Base64::decode_base64url |
| 0 | 0 | 0 | 0s | 0s | MIME::Base64::encode_base64url |
| Line | State ments |
Time on line |
Calls | Time in subs |
Code |
|---|---|---|---|---|---|
| 1 | package MIME::Base64; | ||||
| 2 | |||||
| 3 | 2 | 22µs | 2 | 23µs | # spent 19µs (15+4) within MIME::Base64::BEGIN@3 which was called:
# once (15µs+4µs) by Mojo::Util::BEGIN@16.6 at line 3 # spent 19µs making 1 call to MIME::Base64::BEGIN@3
# spent 4µs making 1 call to strict::import |
| 4 | 2 | 188µs | 2 | 63µs | # spent 34µs (5+29) within MIME::Base64::BEGIN@4 which was called:
# once (5µs+29µs) by Mojo::Util::BEGIN@16.6 at line 4 # spent 34µs making 1 call to MIME::Base64::BEGIN@4
# spent 29µs making 1 call to warnings::import |
| 5 | |||||
| 6 | 1 | 0s | require Exporter; | ||
| 7 | 1 | 6µs | our @ISA = qw(Exporter); | ||
| 8 | 1 | 1µs | our @EXPORT = qw(encode_base64 decode_base64); | ||
| 9 | 1 | 1µs | 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 | 812µs | 1 | 805µs | XSLoader::load('MIME::Base64', $VERSION); # spent 805µs making 1 call to XSLoader::load |
| 15 | |||||
| 16 | 1 | 1µ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 | 7µs | 1; | ||
| 34 | |||||
| 35 | __END__ |