The answer to your problems is CGI.pm. This is standard with your perl distribution. You will only run into problems if you try to parse your query string. CGI.pm does this all (correctly) for you (and much more). IOW you are asking for a world of trouble if you avoid CGI.pm :)