Subject: Re: [RFD] gitweb: href() function to generate URLs for CGI

From: [email-masked] (Randal L. Schwartz)
Date: 22 Aug 2006 11:35:12 -0700

>>>>> "Junio" == Junio C Hamano <[email-masked]> writes:

Junio> 	my @result = (); 
Junio>         for (my $i = 0; $i < @mapping; $i += 2) {
Junio>         	my ($name, $symbol) = ($mapping[$i], $mapping[$i+1]);
Junio> 		if (defined $params{$name}) {
Junio> 			push @result, "$symbol=$params{$name}";
Junio> 		}
Junio> 	}
Junio>         return "$my_uri?" . esc_param(join(';', @result));
Junio> }

If you already depend on the LWP package, then the "URI" module
does precisely what you're reinventing.

my $uri = URI->new("http://host/base/path")
$uri->query_form(\%params);
my $result = $uri->as_string;

And I'd rely on Gisle Aas's experience about constructing these things
far more than the thread I've just witnessed here. :)

-- 
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[email-masked]> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!