use CGI; use strict; my $q = new CGI; if ($q->param('state') eq 'foo') { DoFoo($q); } else { ErrorOut('Say what?') } sub DoFoo { my $q = shift; # do some magic to pick filehandle open (FILEHANDLE, "param()) { # $q->param($_) = $p->param($_) Bad old code # I sure whish I could do that sort of thing, I make this error too often. $q->param( -name=>$_, -values=>$p->param($_) ); } # do more stuff } sub ErrorOut { die shift; }