When writing Perl cgi scripts, you cannot simply output raw HTML like you might have in a file. You need print STDOUT "Content-type: text/html\n\n"; in front of it. Having just #!/bin/perl print "Hello, world!!\n"; will give you Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, you@your.address and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - but having #!/bin/perl print STDOUT "Content-type: text/html\n\n"; print "Hello, world!!\n"; works just fine. ====================================================================================== See http://www.httprevealer.com/usage_perl.htm for a crisp description of why. For another interesting page with a tangental issue -- Microsoft IE-bashing, see http://ppewww.ph.gla.ac.uk/~flavell/www/content-type.html