I wrote this while showing a neighbor kid the same thing. It's odd, but it might help you get started.
#!perl -wT
use strict;
use CGI;
my $query = CGI->new;
my @fields = qw(Name Age Sex);
print $query->header,
$query->start_html('Multi page form'),
$query->start_form;
print_form();
print $query->end_form,
$query->end_html;
sub print_form {
my $count = @fields;
my $results;
foreach my $field (@fields) {
if ($query->param($field)) {
print $query->hidden(-name=>$field);
$results .= $query->p(
$query->b("$field:"),
$query->param($field)
);
$count--;
}
else {
print $query->b("$field:"),
$query->textfield(-name=> $field),
$query->submit(-value=> 'Submit');
last;
}
unless ($count) {print $results}
}
}