in reply to CGI.pm param not following post

I think what you're looking for is hidden fields to pass state information from one invocation to the next. It can be as simple as:
print $query->hidden(-name=>'hidden_name', -default=>['value1','value2'...]);

You could also try the various examples found in Super Search for 'hidden fields' here.

merlyn has a column that illustrates a method of using hidden fields over here at Stonehenge.com also.

O'Reilly has a CGI Programming with Perl book that has a chapter describing persistant data inside as well.

Peachpit Press also has a chapter called 'Remembering What Your Visitors Tell You' in their book Perl and CGI for the World Wide Web.