Heh, pretty much what i expected. I would try to reply individually to most of your point, but there are so many that i would have to write a 3 page post, so let me say:
var=1&var=2 would of course make var=2; (hey, it makes sense to me)
a lot of my problems was that i didnt know there was sucha nice spec page (Here) And if i had known it, i probably would of ended up using cgi.pm. Nothing i saw in my various researching about it ever said 'go look at perldocs.com/cgi to learn alot more about it'.
i wont show you my code because i *know* its broken, what good does having you tell me do me?
'what is it doing to the vars it slurps up' by that i mean, when it grabs all the input from STDIN and parses it, what exactly does it do? Does it convert the escaped %xx characters? Does it convert other things?
no, i wasnt paid for it, it was solely for my own usage.
Yes, perl may be doing things i dont know about, but i can read lots and lots of documentation about it (i didnt know there was a perl docs site!)
After reading up on the perldocs site, i think i will switch my code over to cgi.pm (maybe...), But i am glad that i took the time to learn more about how the cgi protocol actually works.