is a great idea in general, but it won't help in this case. If the program works from the command line but you get an "Internal Server Error" from the browser your Top Two things to look for are 1) permissions... make sure the CGI is executable by "all", and 2) Make sure your script outputs some sort of valid header before it tries to output data. That's what the "print header;" does... if #1 and #2 are good to go, and the program compiles, then you can start hunting run-time errors, which CGI::Carp will gladly and happily let you find.