in reply to Passing multiple hashes?

As long as you use CGI.pm anyway, why not let it parse the form for you? It's probably an error to make a new CGI object inside the register sub. Better to have a file scoped:

my $cgi = new CGI;
Now your form is already parsed.

After Compline,
Zaxo