sub url_escape($) {
my $x = shift @_;
- $x =~ s/([^-\$_.+!*'(),0-9A-Za-z\x80-\xff ])/"%".unpack('H2',$1)/ge;
+ $x =~ s/([^-\$_.!*'(),0-9A-Za-z\x80-\xff ])/"%".unpack('H2',$1)/ge;
$x =~ s/ /+/g;
return $x;
}
sub parse_arg_string($) {
my ($s) = @_;
$s =~ s/\s+//;
- foreach $_ (split /&/,$s) {
+ foreach $_ (split /[&:]/,$s) {
(/^([^=]+)=(.*)$/) or next;
my $arg = $arg_table->{$1} or next;
$_ = $2;
sub self_ref(@) {
my %h = @_;
my $out = make_out_args(\%h);
- return "?" . join('&', map { "$_=" . url_escape($out->{$_}) } sort keys %$out);
+ return "?" . join(':', map { "$_=" . url_escape($out->{$_}) } sort keys %$out);
}
sub self_form(@) {