Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / URI / _userpass.pm
CommitLineData
3fea05b9 1package URI::_userpass;
2
3use strict;
4use URI::Escape qw(uri_unescape);
5
6sub user
7{
8 my $self = shift;
9 my $info = $self->userinfo;
10 if (@_) {
11 my $new = shift;
12 my $pass = defined($info) ? $info : "";
13 $pass =~ s/^[^:]*//;
14
15 if (!defined($new) && !length($pass)) {
16 $self->userinfo(undef);
17 } else {
18 $new = "" unless defined($new);
19 $new =~ s/%/%25/g;
20 $new =~ s/:/%3A/g;
21 $self->userinfo("$new$pass");
22 }
23 }
24 return unless defined $info;
25 $info =~ s/:.*//;
26 uri_unescape($info);
27}
28
29sub password
30{
31 my $self = shift;
32 my $info = $self->userinfo;
33 if (@_) {
34 my $new = shift;
35 my $user = defined($info) ? $info : "";
36 $user =~ s/:.*//;
37
38 if (!defined($new) && !length($user)) {
39 $self->userinfo(undef);
40 } else {
41 $new = "" unless defined($new);
42 $new =~ s/%/%25/g;
43 $self->userinfo("$user:$new");
44 }
45 }
46 return unless defined $info;
47 return unless $info =~ s/^[^:]*://;
48 uri_unescape($info);
49}
50
511;