If you use
CGI.pm, this is actually the default action of the <code lang="perl">start_form</code> function. I usually also add a hidden field, that by it's very existance make an easy if/else out of the "display form" and "process data" steps. The hidden field also makes it easy to add image creation by using "image" (in the case of createing
Timelines,
OrgCharts,
GD, etc)
i had a memory leak once, and it ruined my favorite shirt.