in reply to URI.pm bug or am i missing something?

But this shows that it's your code, not URI that is broken:
use URI; my $uri = URI->new('http://localhost/foo.cgi?foo=bar&foo=baz'); my @result = $uri->query_form; print join(":", @result), "\n";
This prints:
foo:bar:foo:baz
So the problem is your code. You are taking stuff that might have a duplicated key, and shoving it into a hash. Of course you lose data when you do that!

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.