in reply to A question about CGI-Perl

A blank page without a 500 error means you are sending the http header. The function - print start_html("Thank You"); - sends the title, do you see "Thank You" in the browser title bar or tab? It will not be shown on the page.

Try putting some string prints in the code before the loop ie: - print "foo"; - without using the cgi functions.

Even though you're using - CGI::Carp qw(warningsToBrowser fatalsToBrowser) - it still never hurts to take a look at the error log.