If you dislike to see the passed parameters in the URL, you have to use the POST method instead of GET. If you want to pass "invisible" data between scripts you can store this data in a temporary file and pass the filename to the other script, or you use a database backend. Of course there are a lot of modules on CPAN concerning session-handling.