Re: [RFD] gitweb: href() function to generate URLs for CGI
- From
Randal L. Schwartz <merlyn@stonehenge.com>
- Date
- Aug 22, 2006, 18:35 UTC
- Message-ID
- <86fyfohb4v.fsf@blue.stonehenge.com>
- In-Reply-To
- <7vodudno88.fsf@assigned-by-dhcp.cox.net>
>>>>> "Junio" == Junio C Hamano <junkio@cox.net> 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 <merlyn@stonehenge.com> <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!