From: Randal L. Schwartz Date: Tue, 22 Aug 2006 18:35:12 GMT Subject: Re: [RFD] gitweb: href() function to generate URLs for CGI Message-ID: <86fyfohb4v.fsf@blue.stonehenge.com> In-Reply-To: <7vodudno88.fsf@assigned-by-dhcp.cox.net> >>>>> "Junio" == Junio C Hamano 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 Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!