in reply to Passing form data between scripts

I'd use the same script for the whole process. Just include a flag at each step so you know which part to run:
if (!$part) { # Print part 1, which includes: <input type="hidden" name="part" value="1"> } elsif ($part == 1) { # Process part 1 # Print part 2, which includes: <input type="hidden" name="part" value="2"> } elsif ($part == 2) { # Rinse and repeat as many times as necessary... }
I wouldn't mess with sessions or database storage for something as simple as this.