Definitely the big question is, are you allowing partially-filled-out forms to be submitted?
I usually am against that sort of thing. It's kind of messy, but I would have each successive form get filled up with hidden form fields containing names and values from the previous form, and wait until the final step before submitting anything.
Also I love using static html pages, it keeps the html out of your perl and that is a good thing!