in reply to Why won't my form print to screen

Have you examined the HTML that your program in generating? I mean, you say that the only thing that appears is the "Thank you..." statement. Have you done a "View Source" to see what's actually being output to the browser? I'm asking because you're doing a lot of "start_Th" without a corresponding "end_Th", and "start_td" without "end_td". If you're going to use the special start and end tags in CGI.pm (which you declared with a "use CGI qw(*table *Tr *th *td)" right?) you have to make sure you use the closing tags or your HTML will come out all mangly and stuff and your page won't render.

Alternatively instead of doing this:

print $query->start_table({-align=>'center'}), $query->start_Tr({bgcolor=>'#9933FF'}), $query->start_th({-align=>'center', -colspan=>5}), $query->stron +g('VOLUNTEER'), $query->start_th({-align=>'center', -colspan=>5}), $query->stron +g('DATE'), $query->start_th({-align=>'center', -colspan=>5}), $query->stron +g('UNDO'), $query->end_Tr; $query->start_Tr({bgcolor=>'#99FF99'}), $query->start_td({-align=>'center', -colspan=>5}), $query->stron +g($name), $query->start_td({-align=>'center', -colspan=>5}), $query->stron +g($signup_date), $query->start_td({-align=>'center', -colspan=>5}), $query->chec +kbox(-name=>"remove",-value=>$signup_date), $query->end_Tr; print $query->end_table;
You could do this instead:
#!/usr/bin/perl use CGI qw(:standard); print table({-align=>'center'}, Tr({bgcolor=>'#9933FF'}, th({-align=>'center', -colspan=>5}, [strong('VOLUNTEER'), strong('DATE'), strong('UNDO')] ) ), Tr({bgcolor=>'#99FF99'}, td({-align=>'center', -colspan=>5}, [strong($name), strong($signup_date), checkbox(-name=>"remove",-value=>$signup_date)] ) ) );
This does exactly the same thing and it's a lot easier to read (and debug!) as well. You also don't have to worry about the closing tags 'cause CGI.pm will take care of them for you.

Gary Blackburn
Trained Killer