PATH:
usr
/
share
/
perl5
/
URI
package URI::mailto; # RFC 2368 require URI; require URI::_query; @ISA=qw(URI URI::_query); use strict; sub to { my $self = shift; my @old = $self->headers; if (@_) { my @new = @old; # get rid of any other to: fields for (my $i = 0; $i < @new; $i += 2) { if (lc($new[$i] || '') eq "to") { splice(@new, $i, 2); redo; } } my $to = shift; $to = "" unless defined $to; unshift(@new, "to" => $to); $self->headers(@new); } return unless defined wantarray; my @to; while (@old) { my $h = shift @old; my $v = shift @old; push(@to, $v) if lc($h) eq "to"; } join(",", @to); } sub headers { my $self = shift; # The trick is to just treat everything as the query string... my $opaque = "to=" . $self->opaque; $opaque =~ s/\?/&/; if (@_) { my @new = @_; # strip out any "to" fields my @to; for (my $i=0; $i < @new; $i += 2) { if (lc($new[$i] || '') eq "to") { push(@to, (splice(@new, $i, 2))[1]); # remove header redo; } } my $new = join(",",@to); $new =~ s/%/%25/g; $new =~ s/\?/%3F/g; $self->opaque($new); $self->query_form(@new) if @new; } return unless defined wantarray; # I am lazy today... URI->new("mailto:?$opaque")->query_form; } 1;
[-] telnet.pm
[edit]
[-] ldapi.pm
[edit]
[-] _idna.pm
[edit]
[-] data.pm
[edit]
[-] _punycode.pm
[edit]
[-] Heuristic.pm
[edit]
[-] http.pm
[edit]
[-] ldaps.pm
[edit]
[-] rtspu.pm
[edit]
[+]
..
[-] tn3270.pm
[edit]
[-] _foreign.pm
[edit]
[-] sips.pm
[edit]
[-] https.pm
[edit]
[-] URL.pm
[edit]
[-] urn.pm
[edit]
[-] _generic.pm
[edit]
[-] Split.pm
[edit]
[-] nntp.pm
[edit]
[-] news.pm
[edit]
[-] _segment.pm
[edit]
[-] snews.pm
[edit]
[-] _userpass.pm
[edit]
[-] mms.pm
[edit]
[-] WithBase.pm
[edit]
[-] sip.pm
[edit]
[-] rsync.pm
[edit]
[-] ldap.pm
[edit]
[-] _query.pm
[edit]
[-] file.pm
[edit]
[-] rlogin.pm
[edit]
[-] Escape.pm
[edit]
[+]
urn
[-] _server.pm
[edit]
[-] ftp.pm
[edit]
[-] gopher.pm
[edit]
[-] ssh.pm
[edit]
[+]
file
[-] _login.pm
[edit]
[-] QueryParam.pm
[edit]
[-] IRI.pm
[edit]
[-] mailto.pm
[edit]
[-] rtsp.pm
[edit]
[-] pop.pm
[edit]
[-] _ldap.pm
[edit]