in reply to recalling state with restore_parameters

I presume that you are using the CGI.pm module. If you use its save method to save, when you come to restore, pass a file handle in to the new constructor and voila. See the core documentation on CGI.pm.

Don't be scared by the OO stuff. It's not that difficult to use. You don't actually need to understand the underlying mechanisms in order to use CGI.pm's object features, and in fact it's a good introduction to object orientated programming.