package Begin_CGI; use CGI; sub import { # ====== my( $r_params ) = (@_) ; my $namespace = (caller)[0] ; use vars qw(@params) ; if ( defined($r_params ) ) { @params = @{$r_params || [] } ; foreach my $var ( '@params', @params ) { my $name = substr($var,1) ; *{"${namespace}::${name}"} = ( substr($var,0,1) eq '@' ) ? \@{$name} : \${$name} ; } } ; ETC,ETC #CGI script... use Begin_CGI ( [qw($scalarparam @arrayparam)]; print start_form(-name=>"input_form") . textfield(-name=>"arrayparam", -value=>"$array_param[0]" -force=>1); #zero, one or more text fields if so desired print hidden(-name=>"arrayparam", -value=>"dummy", -force=>1) if is_IE(); print end_form ; #HTML/Javascript