in reply to Redirect and using CGI constructor

To answer your original question why don't you just do:
my $cgi = new CGI; my $must_have_param = $cgi->param('foo'); if(not defined $must_have_param) { $must_have_param = 'Alive!'; }
In this case your actual script just tests if the form input named 'foo' was submitted, and if not assigns's a default value. If your concerned about using the param interface I'm fairly certain you could just do $cgi->param('foo','Alive') if not defined $cgi->param('foo'); To set the param foo to a certain value inside the cgi object.