package cgiparam; use strict qw(vars); sub import { my $package = caller; my $type = shift; my (%params) = @_; while ( my($subname, $param) = each %params ) { *{ "${package}::${subname}" } = sub :lvalue { wantarray ? @{ $CGI::Q->param_fetch($param) } : $CGI::Q->param_fetch($param)->[0]; }; } } 1;