in reply to CGI newbie

I've deployed CGIs on IIS, and, unless your script is going to be doing something much more sophisticated than printing a page,
print $q->header( -nph=>1, #unfortunatly IIS -status=>'200 OK', -type=>'text/html'), ^--- ;
can safely be reduced to print $q->header(); Also, notice that you have a comma where you should have a semicolon. (Was this code copy/pasted?)

Also, it's a good idea to get into the habit early of trying to emit syntacticly valid HTML.